我一直试图从一篇博客文章中理解这个示例 Ruby 代码,该文章说它使用符号 :DEFAULT、:say 和 :@message “查找标识符”。但据我所知,它不是查找标识符,而是查找与这些标识符关联的值。我认为标识符是变量、方法等的名称。所以标识符应该是“ DEFAULT ”、“ say ”和“ message ”?程序的输出如下。
另外,为什么需要查找标识符?
class Demo
# The stuff we'll look up.
DEFAULT = "Hello"
def initialize
@message = DEFAULT
end
def say() @message end
# Use symbols to look up identifiers.
def look_up_with_symbols
[Demo.const_get(:DEFAULT),
method(:say),
instance_variable_get(:@message)]
end
end
dem = Demo.new
puts dem.look_up_with_symbols
当我运行代码时,我得到这个输出:
Hello
#<Method: Demo#say>
Hello