Da es sich um eine Instanz (ein Objekt) handelt, die von einer Klasse erstellt wurde, die Active Record erbt, ist es möglich, den Wert mithilfe der Methode .method abzurufen. Da es sich nicht um die übliche Ruby-Notation handelt, möchte ich den Wert für das Hash-Objekt abrufen. Wenn ich es also mit Punkten schreibe, tritt ein Fehler auf.
example.rb
hash = {name: 'hoge', email: '[email protected]'}
hash[:name]
=> "hoge"
# .Ich erhalte eine Fehlermeldung, wenn ich versuche, es mit zu bekommen
hash.name
NoMethodError (undefined method `name' for {:name=>"hoge", :email=>"[email protected]"}:Hash)
example.rb
#Hash, vorausgesetzt, die Hash-Klasse wurde bereits definiert.Erstellen Sie eine Instanz mit new
hash = Hash.new(name: 'hoge', email: '[email protected]')
hash[:name]
=> "hoge"
hash.name
=> "hoge"
Recommended Posts