Ruby编程:安全导航、循环迭代与模式匹配全解析
1. 安全导航操作符
在Ruby中,为了让代码模式更优雅,引入了安全导航操作符 &. (由一个和符号后跟一个点组成),也被称为“孤独操作符”,因为Matz觉得这个组合看起来像一个人独自坐着凝视远方。它的工作方式如下:
data[:name]&.upcase
&. 操作符的工作原理是,如果左边消息的接收者(这里是 data[:name] )为 nil ,则不会发送消息,直接返回 nil 而不抛出异常;如果接收者不为 nil ,则正常处理消息。这样,无论 data[:name] 是 nil 还是非 nil 值,代码都能按预期工作。
不过,安全导航操作符的作用仅针对一条消息。如果要继续处理更多下游消息,就需要更多的安全导航操作符,例如:
data[:name]&.upcase&.strip&.split
需要注意的是,安全导航操作符是一个很好的快捷方式,但不能替代软件设计。当有很多值且不确定它们是否为 nil 时,值得思考是否有更好的代码结构方式。
超级会员免费看
订阅专栏 解锁全文
402

被折叠的 条评论
为什么被折叠?



