まつもと ゆきひろです
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を行わないという選択肢もありえます.
まつもと ゆきひろ /:|)