まつもと ゆきひろです

In message "[ruby-list:9613] can't clone Fixnum"
    on 98/09/19, Kikutani Makoto <kikutani / sprintmail.com> writes:

|前田さんのruby-jedパッチをJed 0.98.7+J0.5.3に無理やりあてて
|makeしたんですが、ruby_shellモードが動きません。
|何かruby文を入れても「can't clone Fixnum」と言われてます。
|
|ソースではこのメッセージを出しているところがみつからないので
|rubyのほうが出しているのかな?

出しているのはRubyです.cloneというメソッドはObjectに定義さ
れているのですが,cloneという操作は実は全部のオブジェクトに
定義されているわけではありません.

現在のcloneのデフォルトの定義はFixnumのようにcloneという操作
が定義できないものに対しては例外を発生させます(「1」のコピーっ
てなに?).これについては

  * clone操作が定義できない場合はcloneせずにそのものを返す

とか,

  * とりあえずFixnumについてはcloneとはそのものを返すことで
    あると定義する

とかのRuby側の対処法が考えられますし,ruby_shell側で無闇に
cloneを行わないという選択肢もありえます.

                                まつもと ゆきひろ /:|)