From: matz@... (Yukihiro Matsumoto) Date: 1997-09-19T11:46:30+09:00 Subject: [ruby-list:4437] Re: invalid index of Array まつもと ゆきひろです In message "[ruby-list:4434] invalid index of Array" on 97/09/19, "EGUCHI Osamu" writes: |えぐちです。 | |Array クラスを使ってみようと思ってプログラムを書きましたが、 |思ったように動かなかったので、疑問点を分離してみました。 | |疑問点は、 | | + 配列の添字に負数を使ったとき | 最大の添字を持つ要素を [-1] で参照できるんですが、 | これで正しいのでしょうか? はい.添字が負の場合には後ろから数えた要素に参照できます. | + 'Fixnum[添字]' はエラーでないんですか? | 2次元配列をつくって見ようとたとき | 誤って要素を配列でなく数値で初期化したら | その要素の要素へのアクセスが出来てしまいました。 obj[idx]は`[]'という名前のメソッドを起動しているのですが, Fixnum#[]というメソッドも定義されていてn番目のbitがセットさ れているかどうかを返します. | + 配列の要素に配列自身を代入すると、、 | 代入式自体は実行できるようですが、そのオブジェクトに | さわるとインタプリタが落ちます。 再帰的な配列を作る事そのものには問題は無いのですが,現在の to_sやinspectの実装では文字列化の時点で無限ループに落ちてし まうので,出力できません.これを解決する(コストの安い)良い方 法があれば知りたいんですけど. まつもと ゆきひろ /:|)