« Return to Thread: [ruby-list:46154] メソッドArgumentのParenthesisについて

[ruby-list:46161] Re: メソッドArgumentのParenthesisについて

by Shingo Hagiwara :: Rate this Message:

Reply to Author | View in Thread

よこやりですいませんが、なんだか違和感があったので。



> 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){なにか})  # 架空の言語
これもオブジェクトという型と、関数という型を混在させた例なので
あまり適切であるようには思えません。
任意の関数を引数に持つ場合それは高階になるので、オブジェクトのみを
引数に持つ場合に対して、理論的な隔たりが大きいように思います。


群化が作用しているかどうかと問われると、
上記例では疑問を持たざるを得ません。

 « Return to Thread: [ruby-list:46154] メソッドArgumentのParenthesisについて