まつもと ゆきひろです
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]}}"
でも実現できますね.いや,文字列が長くなりすぎるとまずいのか.
まつもと ゆきひろ /:|)