typo

if a == b
のつもりで
if a = b
と書くと、常に真になり、文法も間違っていないので普通に実行されてエラーでない。

このtypoに気づくのに1時間以上かかった。

coffee-scriptだったので今後は==はやめてisを使うようにしたい。
if a is b
isも==もcoffeeではコンパイルすると===になる。怖いからもう==使いたくない。

ちなみにisntは!==になる。


Rubyでis, isnt


class Object
alias_method :is, :==
alias_method :isnt, :!=
end

puts 1.is 1 # => true
puts 1.is 2 # => false
puts 1.isnt 2 # => true
puts 1 is 1 # = > syntax error

Rubyでは==や!=もObjectに定義されたメソッドなのでis/isntできるかと思ったけど、スペース空けると文法エラーになる

もしくはif文と同じ行で代入してたら警告する機能とかほしい