[#1058] ruby 0.99.3-961119 available — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです.

19 messages 1996/11/19
[#1059] segm fault (Re ruby 0.99.3-961119 available) — sinara@... 1996/11/19

原です。

[ruby-list:1082] Re: bug report (>>)

From: matz@... (Yukihiro Matsumoto)
Date: 1996-11-23 15:25:54 UTC
List: ruby-list #1082
まつもと ゆきひろです.

In message "[ruby-list:1078] bug report (>>)"
    on 96/11/22, Keiju ISHITSUKA <keiju@shljapan.co.jp> writes:
|
|けいじゅ@SHLジャパンです. 

|[1] >>
|
|4 >> 32
|
|の答が 4 になります. 本当は 0 であるべきでは??

ですね.シフト幅が32以上の時は特別扱いしないといけませんね.
しかし,Cで

  4>>32

が4になるとは知らなかった.

|[2] ruby-mode.el (alias div /)
|
|ruby-mode.elで 
|
|  alias div /
|
|があるとインデントが狂います.

うーん,これはとりあえず

  alias div / # /

で対応してください.ちょっとすぐには対応できそうにありません.

|[3] Fixnum.div(Bignum)
|
|状況がいささか複雑なのですが... バグというかトラブルっています. ちょっ
|と助けて下さい.

むむむ,状況はわかりました.説明すると非常にややこしいのです
が,基本的にはaliasされても,もともとの名前を覚えているのが
原因です.つまり,divが呼ばれてから(aliasされているので) / 
が呼ばれ,coerceした時に変換後のオペランドに対して(divでなく)
/ を実行しようとしますが,/ は rdivに置き換えられている訳で
す.かなり,ややこしい状況ですが,どうあるべきか深く考えてみ
ます.
                                まつもと ゆきひろ /:|)

In This Thread