Я замечаю различия между хеш-объектом в Ruby 1.8.7 и хеш-объектом в Rails 3.0.10.
Например, в пределах 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 и try
, вернет ноль вместо того, чтобы выдавать ошибку NoMethodError.
Чего мне не хватает?