Matz 已经同意了引入 ".?" 作为 Safe navigation operator
u = User.find(id)
if u && u.profile && u.profile.thumbnails && u.profiles.thumbnails.large
将可以简化为:
u.?profile.?thumbnails.?large
省了好多敲击 LOL
https://bugs.ruby-lang.org/issues/11537?utm_source=rubyweekly&utm_medium=email
实现为 operator 是不是意味着它又是一个 method 的语法糖?我们可以覆盖它?YAVM 虚拟机上有对应的原语级操作么?
#2 楼 @juanito 赞同 NullObject。但是 NullObject 只是转移了 overhead,并没有消除它。当我们有大量的 NullObject 的时候,又如何方便地管理呢?是用 https://github.com/avdi/naught 这种 builder 么?