gpt4 book ai didi

ruby - 安全导航运算符(孤独运算符)不适用于哈希

转载 作者:数据小太阳 更新时间:2023-10-29 08:57:34 24 4
gpt4 key购买 nike

我正在尝试使用安全导航运算符 & 选择性地调用 [] 变量的方法,该变量可能是散列或 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com