まつもと ゆきひろです

In message "[ruby-list:5425] Re: 配列への追加について"
    on 97/11/25, WATANABE Hirofumi <watanabe / ase.ptg.sony.co.jp> writes:

|わたなべです.

|:a=[1,2,3];"#{*x}"でなにに展開するんでしょ? 
|
|"1, 2, 3" です. 

なるほど,もっとも現在#{}の展開はto_sを使っていて配列のto_s
は要素を空白をはさまずに展開する(この場合"123")ですので,ちょっ
と挙動を考えないといけませんね.

更に現状ではRubyのトップレベルに「*式」という構文は許しませ
んから,あちこち直す必要もありますね.

|んで
|a=["a", 1, "b", 2] だったら "\"a\", 1, \"b\", 2" になれば
|eval "hash = {#{*a}}"
|というのもありかな, なんて思って.

なるほど.でも面倒な事をしなくても

  a=["a", 1, "b", 2]
  eval "hash={#{a.inspect[1..-2]}}"

でも実現できますね.いや,文字列が長くなりすぎるとまずいのか.

                                まつもと ゆきひろ /:|)