違いについて
ぼくの中では、Ruby = Python (二アリーイコールです) と思ってたのだけど、使っていると結構違いに気づかされる。
例えば、メソッドの扱い。
Pythonだと、
>>> def square(x): ... return x * x ... >>> square <function square at 0x65370>
とオブジェクトを返してくれるけど、
Rubyだと、
irb(main):030:0> def square(x) irb(main):031:1> return x * x irb(main):032:1> end => nil irb(main):033:0> square ArgumentError: wrong number of arguments (0 for 1) from (irb):33:in `square' from (irb):33 from :0
と、すぐに評価が始まる。
両者の評価の仕方の違いなんだろうけど、扱いが違うんだね。
やればやるほど、違いに気づかされるな。