From: keiju@... (=?ISO-2022-JP?B?GyRCQFBETTc9PHkbKEI=?= ) Date: 1998-06-10T23:06:56+09:00 Subject: [ruby-list:8289] Re: proc scope けいじゅ@日本ラショナルソフトウェアです. In [ruby-list :8283 ] the message: "[ruby-list:8283] proc scope ", on Jun/10 20:36(JST) NAGAI Hidetoshi writes: >永井@知能.九工大です. >例えば次のようなコードがあったとします. >--------------------------------------------------------- >def foo (a) > p a >end >x = [] >(0..9).each{|i| x[i] = proc{foo i} } >--------------------------------------------------------- >そこで質問です. >このような場合のうまい手はないでしょうか? うーん. (0..9).each{|i| eval "j = i; x[j] = proc{foo j}"} ぐらいしか思いつきませんね... あと, (0..9).each{|i| eval "x[j] = proc{foo #{i}}"} ですか... でも, これはiがNumericか文字列ぐらいにしか適用できませんが... # これはlispの `,が欲しいか? (0..9).each`{|i| v = "i" + i # or make_symbol proc{|,v| x[,v] = proc{foo ,v)} } __ ................................石塚 圭樹@日本ラショナルソフトェア... ----------------------------------->> e-mail: keiju@rational.com <<---