2 + "2" = ?
動的型付けの言語では、数値と文字列とを足そうとしたときの挙動は言語毎に異なる。今回、Perl、Python、JavaScriptにおける文字列と数値とを足したときの挙動を比較した。
Python
print("2" + "2") print(2 + "2")
数値と文字列との演算はできないとインタプリンタが拒絶する結果に。
22 Traceback (most recent call last): File "test.py", line 2, in <module> print(2 + "2") TypeError: unsupported operand type(s) for +: 'int' and 'str'
まとめ
各言語の設計思想?がよく現れている気がする。Rubyの実行環境はないので今回は省略。