作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在尝试使用安全导航运算符 &
选择性地调用 []
变量的方法,该变量可能是散列或 nil
。据我所知,这就是安全导航运算符的用途。
my_hash = nil
puts "hello, #{ my_hash&[:test] }"
my_hash = { test: "world" }
puts "hello, #{ my_hash&[:test] }"
我希望输出:
hello, false
hello, world
但是它不适用于散列;相反,我得到:
hello, false
undefined method `&` for `{:test=>"world"}:Hash` (NoMethodError)
我做错了什么?
最佳答案
因为这个
my_hash[:test]
是这个的语法糖
my_hash.[](:test)
所以这应该可以工作
my_hash&.[](:test)
但这并不漂亮,我知道。
关于ruby - 安全导航运算符(孤独运算符)不适用于哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47018206/
我是一名优秀的程序员,十分优秀!