可能的重复:
理解 Ruby 中的符号 Ruby
中的冒号运算符是什么?
我真的很天真地问这个问题,但我要继续问:
:
红宝石的重要性是什么?
我已经看到它在很多地方都使用过,params[:id]
例如x < :length
.
可能的重复:
理解 Ruby 中的符号 Ruby
中的冒号运算符是什么?
我真的很天真地问这个问题,但我要继续问:
:
红宝石的重要性是什么?
我已经看到它在很多地方都使用过,params[:id]
例如x < :length
.
冒号表示“符号”。一个符号就像一个字符串,但它是不可变的(你不能改变它的内容)。在幕后,它也占用更少的内存,因为一个符号只需要在内存中存在一次(即,两个名为“length”的字符串将在内存中存在两次,但两个名为 :length 的符号将指向同一个对象)。
:length
表示它是一个符号
符号是字符串,只是有一个重要区别,符号是不可变的。
RubyDoc:符号对象表示 Ruby 解释器中的名称和一些字符串。它们是使用 :name 和 :"string" 文字语法以及各种 to_sym 方法生成的。
这里有一些了解符号的好地方
它是解释器类型的语法指示。
0-9 numeric*
: symbol
"" string
[] array
{} hash