Ruby 1.8.7内のハッシュオブジェクトとRails 3.0.10内のハッシュオブジェクトの違いに気づいています。例えばハッシュに 'try'メソッドが含まれていません
、1.8.7 irb
以内に、私が取得:
1.8.7 :001 > {}.try(:method)
NoMethodError: undefned method `try' for {}:Hash
from (irb):1```
しかし、3.0.10レールコンソールから、私が手:
1.8.7 :003 > {}.try(:method_x)
NoMethodError: undefined method `method_x' for {}:Hash
from (irb):3:in `try'
from (irb):3
これは私、私がいたので驚きtry
がHashの祖先であるObjectに定義され、try
がNoMethodErrorを投げる代わりにnilを返すという印象の下で、
私には何が欠けていますか?
ええ、私はRailsがObjectをmonkeypatchesし、 'try 'で追加したことを発見しました。これは私には驚きでした。 – Davidann