Я пытался понять этот пример кода 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