今日のびっくり。

class Check
 def ok; 'OK'; end
 def method_missing; 'NG'; end
end

def ng; 'OK!'; end # どこかで定義

p Check.new.__send__(:ng) #=> OK!
p nil.__send__(:ng) # こんなのもOK!

いや…理屈は分かるんだけど…
ちょっとあんまりだと思った。