20/10/11 11:26:44.35 rXA2CZZq.net
>>584
String.replaceとRegExp.exec(str)は明確に用途が異なる。
だからそのどちらを使ったかで何を目的にしてるかをコード上に残せる。
Pythonはそれが出来ないから糞、というだけ。
どうやらPython教の「そのやり方は一つであるべき」が根本的にある。
これが「数ある中からそれを選んだ、それを持って意図を残す」俺と決定的に合わない。
なおRubyも同様に「いろんなやり方があるべき」であり、Pythonはプログラミング言語の中ではかなり異端だと思う。
だからこそ受けている、というのはあるらしいが。
なおJS、String.search と Regexp.test 等、大体においてその状況では交換可能なメソッドは多々あるし、
Array.map/forEach/filter/reduceも、無理矢理やれば大体交換可能だ。
これについては俺は => はクロージャ無し、つまり外変数を掴めない仕様にするべきだったと思う。
そうすれば => で与えている限り「無理矢理交換」は出来なくなり、コードも読みやすくなるし、エラーも文法的に落とせた。
現状では「無理なことをしてないか目で確認」するしかなく、これは型アノテーションではどうにもならない。
だから目で落とすハンガリアンを馬鹿にしていて、でも => の仕様不備には全く文句を言わないのは、
同様にお前らも単なる馬鹿かポジショントークでしかないからだよ。
実際、 => で与える関数で外変数を掴まなければならないケースなんて半数以下だし、
その場合は function と長々と書く、でよかった。