From: ohrsts@... Date: 2007-07-10T20:38:00+09:00 Subject: [ruby-list:43700] Re: require の使いかた ? 小原です。 メーラーの操作ミスで、[ruby-list:43693] を (誤)送信してしまいました。済みません。 氏久様、ありがとうございます。 require 'xxx' によって load されるライブラリでの トップレベルの(英小文字の)変数は、ローカル変数になる と言うことでしょうか。[ruby-list:43692]の場合 mmhsh.rb ,y.rb を ------mmhsh.rb---------------- # hash m code => 会員名 をつくる m={} f=open("members","rb") while s=f.gets key=s[0,3];val=s[4,20] m[key]=val end f.close M=m #これを書き足す --------------------------- --------- y.rb ------------ #!/usr/bin/ruby require 'mmhsh' puts M["001"] # m を M に変更 --------------------------- に変更することで期待の結果が得られました。 ただ、このような説明は、何処に書かれているのか 分かりません。レファランスマニアルの組込み関数 の reqire(feature) にでも、そのような説明が あると私のようなものには、あり難いのですが、、、。 load(file[, priv]) の項目に 、、、、、、 省略可能な引数 priv が真のとき、ロード・実行は 内部的に生成される無名モジュールをトップレベルと して行われ、グローバルな名前空間を汚染しません。 、、、、、、、、、、、、、、 の記述がありましたが、これを読んだとしても、私には 教えていただいたスコープの関係を理解できるとは、 思えません。 どうも、愚痴っぽくなってしまってすみません。 以上 ありがとうございました。