[ruby-list:46161] Re: メソッドArgumentのParenthesisについて
よこやりですいませんが、なんだか違和感があったので。
> puts a*(x1+sin(y1)), b*(x2-cos(y2))
これは例として対比するならば、
puts a*(x1+sin(y1)),b*(x2-cos(y2))
と書くべきだという気がします。むしろ、
puts a*(x1+sin(y1)) b*(x2-cos(y2))
でしょうか?
> puts(a*(x1+sin(y1)), b*(x2-cos(y2)))
これも
puts(a*(x1+sin(y1)),b*(x2-cos(y2)))
という例が適切かと思うのですが。
また
> join(reverse(sort(array))) # 架空の言語
は大変分かりやすいかと。
> array.sort.reverse.join # Ruby
これは「.」の意味論によるもので、
「.」が「前オブジェクトの後ラベルを実行する」という事に依存している物かと思います。引数の括弧の有無とは関係ない気もしますが。
> array.inject(0, func(r, x){なにか}) # 架空の言語
これもオブジェクトという型と、関数という型を混在させた例なので
あまり適切であるようには思えません。
任意の関数を引数に持つ場合それは高階になるので、オブジェクトのみを
引数に持つ場合に対して、理論的な隔たりが大きいように思います。
群化が作用しているかどうかと問われると、
上記例では疑問を持たざるを得ません。