可能重复:
Understanding Symbols In Ruby
What is the colon operator in Ruby?
我真的觉得这很天真,但我会继续问:
:
在红宝石中的重要性是什么?
我看到它被用于params[:id]
或x < :length
等多个地方。
答案 0 :(得分:6)
冒号表示“符号”。符号就像一个字符串,但它是不可变的(你不能改变它的内容)。在幕后,它也占用更少的内存,因为符号只需要在内存中存在一次(即,两个名为“length”的字符串将在内存中存在两次,但是两个符号称为:length将指向同一个对象)。
答案 1 :(得分:2)
:length
表示它是符号
符号是字符串,只是有一个重要的区别,符号是不可变的。
RubyDoc:符号对象表示Ruby解释器中的名称和一些字符串。它们是使用:name和:&#34; string&#34;生成的。文字语法,以及各种to_sym方法。
以下是一些了解符号的好地方
答案 2 :(得分:2)
它是解释器类型的语法指示。
0-9 numeric*
: symbol
"" string
[] array
{} hash