ruby 和 :symbols

标签 ruby symbols

我刚开始使用 Ruby,正在阅读“Programming Ruby 1.9 - The Pragmatic Programmer's Guide”。我遇到了一种叫做符号的东西,但作为一名 PHP 开发人员,我不明白它们的作用和用途。

谁能帮我解决这个问题?

最佳答案

根据“被调用的东西”来思考符号是很有用的。换句话说,:banana 指的是“叫做香蕉的东西”。它们在 Ruby 中被广泛使用,主要用作哈希(关联数组)键。

它们确实与字符串相似,但在幕后却大不相同。一个关键区别是内存中只有一个特定符号。因此,如果您在代码中引用 :banana 10 次,则只会创建一个 :banana 实例,并且它们都引用该实例。这也意味着它们是不可变的。

关于 ruby 和 :symbols,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3561285/

相关文章:

C:使用十六进制表示UTF-8(如欧元)

c++ - C++命名空间名和类名重复会导致冲突吗?

c++ - Windbg 从改变的位置加载符号

ruby - 用 Ruby 将字符串中的元音大写

ruby-on-rails - 在 Rails 3 中,我得到了一个用于回收的 NoMethodError!测试过程中的方法

Ruby:如何在字符串插值内的符号上使用 gsub 方法#{}

iOS 应用程序被拒绝 - 私有(private)符号 mach_init_routine

ruby - 如何以编程方式使用 Rugged 创建提交?

ruby-on-rails - 为什么这总是返回 true? rails

ruby - 在 Ruby 中为属性创建别名的最佳方法是什么?