[RUBY] Über Hash

Artikel zum vorherigen Symbol

Verwenden Sie Symbole für Hash-Schlüssel

Wie ich in meinem letzten Artikel über Symbole erwähnt habe, sind Symbole besser als Zeichenfolgen für Hash-Schlüssel. Die Verwendung eines Symbols für den Hash-Schlüssel führt zu folgendem Code:

menu = { :food => 'rice', :dessert => 'cake'}
#Beim Abrufen des Wertes
menu[:dessert] # => "cake"
#Beim Hinzufügen einer neuen Schlüssel / Wert-Kombination
menu[:drink] = 'water'
p menu # => {:food=>"rice", :dessert=>"cake", :drink=>"water"}

Wenn das Symbol der Schlüssel ist, können Sie den Hash mit der Notation symbol: value erstellen, ohne => zu verwenden. (* Die Position des Doppelpunkts ändert sich von links nach rechts)

(Beispiel)

menu = {food: 'rice', dessert: 'cake'}
#Gleiches gilt für das Abrufen von Werten
menu[:dessert] # => "cake"

(Beispiel) Code, wenn sowohl Schlüssel als auch Wert Symbole sind

{food: :rice, dessert: :cake, drink: :water}

Argumente und Hashes für Methodenschlüsselwörter

Verwenden Sie beim Übergeben von Argumenten an eine Methode die Schlüsselwortargumente der Methode, um die Lesbarkeit zu verbessern. Die Schlüsselwortargumente für die Methode sind wie folgt definiert:

def Methodenname(Schlüsselwortargument 1:Standardwert 1,Schlüsselwortargument 2:Standardwert 2)
#Methodenimplementierung
end

(Beispiel mit Schlüsselwortargumenten)

def buy_food(menu, drink: true, dessert: true)
  #Essen kaufen
  if drink
    #Kaufen Sie ein Getränk
  end
  if dessert
    #Dessert kaufen
  end
end
#Kaufen Sie Reis, Getränke und Desserts
buy_food('rice', drink: true, dessert: true)
#Pizza kaufen und trinken
buy_food('pizza', drink: true, dessert: false)

Beim Aufrufen einer Methode mit Schlüsselwortargumenten, genau wie beim Erstellen des Hashs Symbol: Geben Sie das Argument in Form eines Werts an.

Darüber hinaus hat das Schlüsselwortargument einen Standardwert, sodass das Argument weggelassen werden kann.

buy_food('rice', drink: true, dessert: true)

⬇︎ Getränk und Dessert verwenden ebenfalls den Standardwert true. Geben Sie sie daher nicht an.

buy_food('rice')

Sie können den Standardwert des Schlüsselwortarguments weglassen.

def buy_food(menu, drink:, dessert:)
#Kürzung
end

Schlüsselwortargumente ohne Standardwerte können während des Aufrufs nicht weggelassen werden. (Wenn nicht angegeben, tritt ein Fehler auf.)

buy_food('rice', drink: true, dessert: true)

Beim Aufruf einer Methode, die Schlüsselwortargumente verwendet Es ist auch möglich, einen Hash (Schlüssel ist ein Symbol) zu übergeben, der dem Schlüsselwortargument als Argument entspricht.

Params = { drink: true, dessert: false }
buy_food('rice', params)

Literaturhinweise

Einführung in Ruby für diejenigen, die Profis werden möchten

Recommended Posts

Über Hash
Über Ruby Hash
Über Ruby Hash (Fortsetzung)
Über =
Was du über Hashing gelernt hast
Über Ruby-Hashes und -Symbole
Über method.invoke
Über Kotlin
Über attr_accessor
Über Hinemos
Über die Vererbung
Über Docker
Über Schienen 6
Über den Frühling ③
Über Aufzählung
Über Polymorphismus
Über Optional
Über JitPack
Darüber ()
Über die Kapselung
Über JAVA_HOME
Über statische
Über Ausnahmen
Über den Umfang
[Maven] Über Maven
Informationen zur Ausnahmebehandlung
[Java] Informationen zu Java 12-Funktionen
Informationen zum Rails-Routing
Über zyklische Komplexität
Informationen zur Ausnahmebehandlung
Informationen zu AsyncTask-Generika
Über Ruby-Symbole
Informationen zur Array-Multiplikation
[Java] Über Arrays
Über Spring AOP
Über singuläre Methoden
Informationen zum Erstellen von Tools
Kauen Sie über API
[Über Double Hash]
Etwas über Java
Wo ist mit Java?
Über die Methode von HttpServlet ()
Informationen zu Java-Funktionen
Informationen zu SIGNING_REGION: NoSuchFieldError