From: KIRIYAMA Kazuhiko Date: 2006-08-29T08:36:45+09:00 Subject: [ruby-list:42763] Re: eval substirution with variable 桐山です. At Mon, 28 Aug 2006 22:04:19 +0900, nobu@ruby-lang.org wrote: > > evalの中からbは見えますから、bそのものを代入してよいのであれば、 > > eval "a#{s} = b" むぅ,知らなかった....増田さんも書いてらっしゃるように inspect ってのがちゃんとあったんですねぇ. # マニュアルを精査せんといかんなぁ > あるいはevalを使わずに > > region[1..-1].inject(a[region[0]]) {|x, i| x[:b][i]}[:b] = b > region.inject({:b => a}) {|x, i| x[:b][i]}[:b] = b > > とか。 はずかしながら inject の使い方を始めて知りました.each の cool 版かぁ # これもマニュアルにちゃんと書いてある > > h = proc {|ary, idx| > ary = ary[idx[0]] > if idx.size > 1 > h[ary[:b], idx[1..-1]] > else > ary > end > } > > h[a, region][:b] = b > > とか。 ほどなる.ということで,まだまだ修行が足らないことを実感しま した ;)