gpt4 book ai didi

ruby - 为什么在转换为字符串然后转换为符号时,空数组和散列的处理方式不同?

转载 作者:数据小太阳 更新时间:2023-10-29 07:42:38 25 4
gpt4 key购买 nike

在 Ruby 中,为什么这两个操作对于空数组和哈希是不同的?

空数组:

[].to_s.to_sym => :[] 

空哈希:

{}.to_s.to_sym => :"{}"

最佳答案

它们并没有真正的不同,只是它们的显示方式不同。 { 字符不能作为符号的开头,因此用引号括起来。如果你想创建一个包含 - 的符号,你会做同样的事情,否则它会被解释为减法运算符。事实上,您可以进入 IRB 并测试引号是否真正影响交易品种。

:[] == :"[]" #=> true

所以,基本上,一个可以使用更短的形式,而另一个必须更冗长以便解析器可以理解。但两者在含义或形式上并无本质区别。

关于ruby - 为什么在转换为字符串然后转换为符号时,空数组和散列的处理方式不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10390752/

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