当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Ruby Symbol类用法及代码示例


本文简要介绍ruby语言中 Symbol类 的用法。

Symbol 对象表示 Ruby 解释器中的命名标识符。

您可以使用以下命令显式创建 Symbol 对象:

在程序执行期间,将为给定名称或字符串创建相同的 Symbol 对象,无论该名称的上下文或含义如何。因此,如果Fred 在一个上下文中是一个常量,在另一个上下文中是一个方法,在第三个上下文中是一个类,那么在所有三个上下文中, Symbol :Fred 将是同一个对象。

module One
  class Fred
  end
  $f1 = :Fred
end
module Two
  Fred = 1
  $f2 = :Fred
end
def Fred()
end
$f3 = :Fred
$f1.object_id   #=> 2514190
$f2.object_id   #=> 2514190
$f3.object_id   #=> 2514190

常量、方法和变量名称作为符号返回:

module One
  Two = 2
  def three; 3 end
  @four = 4
  @@five = 5
  $six = 6
end
seven = 7

One.constants
# => [:Two]
One.instance_methods(true)
# => [:three]
One.instance_variables
# => [:@four]
One.class_variables
# => [:@@five]
global_variables.grep(/six/)
# => [:$six]
local_variables
# => [:seven]

Symbol 对象与 String 对象的不同之处在于 Symbol 对象表示标识符,而 String 对象表示文本或数据。

相关用法


注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Symbol类。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。