过去几天我一直在研究如何理解 Ruby 中的符号。我读了 Google 上关于 Ruby 符号的每一篇文章,其中大多数解释都不好,所以我来到这里,我看到存在一些关于这个主题的问题,但是我不明白,抱歉。
根据我所读到的内容,我了解到符号是不可变且唯一的,因此内存消耗和性能优于常规字符串。
问题#1
符号在生活中的目的是否与弦一样服务于相同的利基市场?符号的目的是作为方便的常量而不携带值,就像下面的部分:它是实际值吗?
问题2
我什么时候真正知道在哪里使用符号?
我非常感谢您自己对符号的解释,而不是链接到 Google 上的文章(我确保我已经阅读过它!)。
如果您能提供比我在这里询问的更多有关符号的信息,我也非常感谢您的时间,因为我根本不理解它们,甚至不理解 :symbol_something 中存储的内容,它是引用还是什么?
非常感谢您的帮助!
ruby 中的符号是一种有效利用不可变字符串的方法。例如,假设您想使用字符串“my_key”作为哈希键。简单地使用字符串既浪费空间又浪费效率,因为每次指定哈希键“my_key”时,您都会在不同的内存位置创建不同的字符串实例,即使字符串值内容相同!因此,如果您有 100 个 my_hash['my_key'] 实例,那么您就有 100 个字符串 'my_key' 实例。符号 :my_key 则不然。无论您使用多少次, :my_key 都只有一个实例!
您应该在通常使用不可变字符串作为标识符的地方使用符号。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)