19/04/30 22:52:51.04 hb9ui0Yd.net
>>20
触れちゃいけないのは理解しているが、初心者も見ているため誤まった認識が広まらないように叩いておく
誤解その1
Rubyのメソッドチェーンはメソッドの戻り値に対して更にメソッドを呼んでいるだけである。Pythonでも全く同じことができる。
誤解その2
Rubyは関数型言語ではない。コンテキストオブジェクトを特別扱いする正真正銘のオブジェクト指向言語である。
また、Rubyでは副作用の使用が推奨されている。これは関数型とは逆行する思想である。Rubyでメソッドチェーンが使えるケースが多いのもそのため。
基本的にメソッドの戻り値を積極的に使わずに副作用に頼るため、使い道のない戻り値でselfを返しておくというわけ。
誤解その3
Goでメソッドチェーンをほとんど使わないのはエラーを返すのに戻り値を使っているから。むしろ関数に拘った結果そうなっている。