Ich habe versucht, dieses Beispiel Ruby Code from a blog entry zu verstehen, der besagt, dass es die Symbole verwendet: DEFAULT,: say und: @message "nach Kennungen suchen". Aber von dem, was ich sagen kann, wird nicht nach den Identifikatoren gesucht, sondern nach den Werten, die diesen Identifikatoren zugeordnet sind. Ich dachte, Bezeichner wären Namen von Variablen, Methoden usw. Also wären die Bezeichner "DEFAULT", "also" und "Nachricht"? Die Ausgabe des Programms ist unten.Sucht dieser Ruby-Code Identifikatoren oder die damit verbundenen Werte?
Warum sollten Sie auch eine Kennung suchen?
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
Wenn ich den Code ausführen bekomme ich diese Ausgabe:
Hello
#<Method: Demo#say>
Hello