From: Sugawara Hajime Date: 2000-04-27T23:33:22+09:00 Subject: [ruby-list:22169] Re: $LOAD_PATH への追加について  菅原@ホビー・データです。 わたなべさん: 大原さん: あおきさん:  えー、書き方が悪かったようですが、 > % ruby -e '$:.unshift ["hoge","foo"];puts $:' > % ruby -e '$: << ["hoge","foo"];puts $:' はやってみて、$LOAD_PATHにパスを追加できないので困っていたのです。 (ルビー本のerrataを読んでみると、shift,unshiftは配列を1つの塊として扱 うようでしたので)  で、大原さんの言わるように > $:.unshift(["/home/user/foo", "/home/user/bar"]).flatten! > $:.push(["/home/user/foo", "/home/user/bar"]).flatten! としたらうまくいきました。 #flatten!というメソッドはルビー本には載ってませんよね? #索引にはないみたいですが……  あとは、あおきさんの言われたとおり > $LOAD_PATH.concat [ パスのリスト ] でもOKでした。これが一番普通っぽくていい感じです。 #オブジェクト指向の言語に慣れてないので「破壊的」と書かれていたのに #引っかかっていたのですが、よく考えれば破壊的で問題ないんですね。  それはそれとして、 > a = [ 1, 2, 3, 4] > a += [ 5, 6, 7, 8] では望んだような動作をするのですが、$LOAD_PATHではだめなようです。  組み込み変数にはこういった制限があるのでしょうか? -------- 菅原 元@ホビー・データ sugawara@hdt.co.jp