gpt4 book ai didi

ruby-on-rails - 这行代码是什么意思? !在 Hash [] 中

转载 作者:太空宇宙 更新时间:2023-11-03 17:25:43 25 4
gpt4 key购买 nike

这是代码行:

options[:selectors] = [[1, "Spain"], [2, "Italy"]]
v = "Monthly"

value = Hash[options[:selectors]][!!(v =~ /^[0-9]+$/) ? v.to_i : v]

我不确定的主要部分是最后一行的这一部分:

[!!(v =~ /^[0-9]+$/) ? v.to_i : v]

[!! 是什么意思,=~ 是什么意思?最后,总线是什么意思?

最佳答案

!! 是一个成语,意思是“将此值更改为 bool 值”。第一个 ! 进行类型转换,第二个 ! 恢复语义,同时保持 bool 值。

不过,这在 ruby​​ 中并不合适。我认为这是一种 PHPism。

=~ 是正则表达式匹配。

最后,整个事情的意思是“如果 v 是一个 int 字符串,使 v 成为一个整数类型并从哈希中获取,否则使用字符串作为键。”

关于ruby-on-rails - 这行代码是什么意思? !在 Hash [] 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11480397/

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