结肠的意义:在Ruby中

时间:2012-10-25 14:10:50

标签: ruby

  

可能重复:
  Understanding Symbols In Ruby
  What is the colon operator in Ruby?

我真的觉得这很天真,但我会继续问:

:在红宝石中的重要性是什么?

我看到它被用于params[:id]x < :length等多个地方。

3 个答案:

答案 0 :(得分:6)

冒号表示“符号”。符号就像一个字符串,但它是不可变的(你不能改变它的内容)。在幕后,它也占用更少的内存,因为符号只需要在内存中存在一次(即,两个名为“length”的字符串将在内存中存在两次,但是两个符号称为:length将指向同一个对象)。

答案 1 :(得分:2)

:length表示它是符号

符号是字符串,只是有一个重要的区别,符号是不可变的。

RubyDoc:符号对象表示Ruby解释器中的名称和一些字符串。它们是使用:name和:&#34; string&#34;生成的。文字语法,以及各种to_sym方法。

以下是一些了解符号的好地方

答案 2 :(得分:2)

它是解释器类型的语法指示。

0-9   numeric*
:     symbol
""    string
[]    array
{}    hash
  • 现实中的模式更复杂。