まつもと ゆきひろです.

In message "[ruby-list:2132] Re: bug? array in *array"
    on 97/02/13, 石塚圭樹 <keiju / shljapan.co.jp> writes:
|けいじゅ@SHLジャパンです. 

|>|>  * 引数リストには連想配列式を直接書ける
|>|>    foo("1"=>"2", "2"=>"4")
|>  foo({"1"=>"2", "2"=>"4"})
|>と一緒です.Tk周りでは使うことが多かったりします.
|
|これって... {}を省略できるこうかがあるだけ??

そうです.しかも最後の引数にしかつかえません.ですから,

|foo("1"=>"2", "2"=>"4", bar)
|foo("1"=>"2", foo, "2"=>"4", bar)
|
|とかってどういう意味になります? 

なんてのはエラーになります.

|>|現在は, 配列では
|>|    [foobar $baz]
|>|みたいのは書けない?
|>書けません.
|
|何か理由があるのでしょうか?

配列式は[]の中の式の並び,っていうもともとの定義のままだから
です.引数リストはいろいろ拡張されましたけどね.もともと類似
のものという意識がありませんでしたから.

|でも, 末尾にカンマって嬉しい時あるんですかね?

  aa = [
    "foo",
    "bar",
    "baz",
  ]

ってしておくと後で編集がちょっと楽ってくらいなもんですかね.
私はCでもいつもこうしてます.
# terminator派なの.

というわけでいろいろ話したことをまとめると以下の3つの案が考
えられます.どれがよいですかね.

  1. 現状維持
  2. 配列式は引数リストに合わせる
  3. 配列式,連想配列式の末尾のコンマは止め,配列式の末尾の 
     *に対応する

どれも一理はあるんですけど.
				まつもと ゆきひろ /:|)