【发布时间】:2011-11-06 07:29:10
【问题描述】:
我刚刚进入红宝石世界,我可以伸出援助之手。
假设b 是nil。
我希望下面的代码返回 nil 而不是“NoMethodError: undefined method”
a.b.c("d").e
我尝试的第一件事是重载 NilClass 的 missing_method 以简单地返回一个 nil。这是我想要的行为,但我不想被打扰。
如果我能做这样的事情我会很高兴
SafeNils.a.b.c("d").e
所以这就像一种在本地重载 NilClass 行为的干净方法。
我很想听听一些想法或很好的资源来深入了解这一点。只要它相当干净,我也对其他方法持开放态度。
非常感谢。
【问题讨论】:
标签: ruby-on-rails ruby null metaprogramming