From: Takaaki Tateishi Date: 2002-04-15T19:15:51+09:00 Subject: [ruby-list:34913] Re: creating a scope / anonymous module At Mon, 15 Apr 2002 17:47:00 +0900, > これでのどこを問題ととらえているのかも教えていただけませんか? > なんとなく「encという変数の指すものが変化してほしくない」と > いうようにも読めるのですが、それだとclosureではなくなるし。 おっしゃる通りで,そのencという変数の示すものが変化してほしくない のです.先のletという表記を使うならeachのブロック内で, let enc = encoder1 in case r when "A" encoder1 = proc{|s| enc.call(s) + "A"} when "B" encoder1 = proc{|s| enc.call(s) + "B"} end end とできます.それでもencoder1はclosureで,encのスコープがin...endの 中だけに限定されているだけだと思います. -- Takaaki Tateishi