class Symbol

Ein Symbol-Objekt repräsentiert einen benannten Bezeichner innerhalb des Ruby-Interpreters.

Sie können ein explizites Symbol-Objekt mit

Für einen gegebenen Namen oder eine gegebene Zeichenkette wird während der gesamten Programmausführung dasselbe Symbol-Objekt erstellt, unabhängig vom Kontext oder der Bedeutung dieses Namens. Wenn also Fred in einem Kontext eine Konstante, in einem anderen eine Methode und in einem dritten eine Klasse ist, ist das Symbol :Fred in allen drei Kontexten dasselbe Objekt.

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

Konstanten-, Methoden- und Variablennamen werden als Symbole zurückgegeben

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]

Ein Symbol-Objekt unterscheidet sich von einem String-Objekt darin, dass ein Symbol-Objekt einen Bezeichner repräsentiert, während ein String-Objekt Text oder Daten repräsentiert.

Was gibt es hier

Zuerst, was woanders ist. Klasse Symbol

Hier bietet die Klasse Symbol Methoden, die nützlich sind für

Methoden zum Abfragen

Methoden zum Vergleichen

Methoden zur Konvertierung