[RUBY] Argumente mit Standardwerten Nehmen Sie als Beispiel die Methode full_title des Rails-Lernprogramms

Zielperson

・ Diejenigen, die sich mit dem Argument (page_title = '') der Methode full_title, das in Kapitel 4 des Rails-Tutorials unten aufgeführt ist, unwohl fühlen. ・ Diejenigen, die die Argumente mit Standardwerten nicht verstehen

full_title(page_title = '')

・ Diejenigen, die mit Rails-Tutorials und Kirschbüchern lernen

Zweck des Artikels

Verstehen Sie das Argument der Hilfsmethode full_title (page_title = '') in Kapitel 4 des Rails-Lernprogramms.

Ich bin ein Anfänger und kann auch studieren. Wenn Sie einen Fehler machen, weisen Sie bitte darauf hin.

Was ist das Argument full_title (page_title = ''), das in Kapitel 4 des Rails-Tutorials angezeigt wird?

[Liste 4.2: Full_title-Helfer definieren]

app/helpers/application_helper.rb


module ApplicationHelper
  #Gibt den vollständigen Titel pro Seite zurück.
  def full_title(page_title = '')
    base_title = "Ruby on Rails Tutorial Sample App"
    if page_title.empty?
      base_title
    else
      page_title + " | " + base_title
    end
  end
end

Wie im folgenden Rails-Tutorial erläutert, haben wir eine full_title-Methode definiert, damit sie nicht leer ist, wenn kein Titel vorhanden ist. Wenn ein Titel vorhanden ist, kann sie je nach Seite in einen anderen Titel geändert werden.

Wenn zu diesem Zeitpunkt kein Titel angegeben ist, ist der Titel leer. Um dies zu verhindern, ist es üblich, einen Basistitel zu definieren, der auf allen Seiten verwendet werden soll, und Optionen anzugeben, mit denen Sie auf einer bestimmten Seite zu einem anderen Titel wechseln können.

In dem Teil des Methodenarguments (page_title = ''), der hier angezeigt wird, fühlte ich mich mit "Was ist das?" Unwohl. Aber sobald ich das Kirschbuch [2.11.1 mit Standardwert gespielt habe Ich habe es verstanden, indem ich mir den Teil [Argument] angesehen habe.

Was ist ein Argument mit einem Standardwert? (Zitiert aus dem Kirschbuch)

Die Struktur der Methode mit dem Standardwert ist wie folgt.

def Methode (Argument=Standardwert 1,Argument 2=Standardwert 2)
#Erforderliche Verarbeitung
end

Das Folgende ist ein Beispielsatz der Methode mit dem Standardwert von Cherry Book.

 def greeting(country = 'Japan')
  if country == 'Japan'
    'Hallo'
 else
    'hello'
  end
 end

#Ergebnis des Methodenaufrufs
 greeting #=> "Hallo"
 greeting('us') #=> "hello"

Im obigen Beispiel ist der Standardwert der Teil (country = 'Japan'). Gemäß der Beschreibung in Kirschs Buch werden Argumente mit Standardwerten als eine der flexiblen Möglichkeiten zum Ändern von Methodenargumenten eingeführt. Obwohl ein Fehler, wenn beim Aufrufen einer normalen Methode ein Argument für Übermaß oder Mangel vorliegt, kein Fehler, wenn der Aufruf Wenn Sie den Standardwert wie oben ohne Begrüßung und Argumente festlegen, als "Hallo" angezeigt wird. ..

Das war's! !! Zusammenfassen.

Um mit dem obigen Beispiel zusammenzufassen, ...

"Wenn es leer ist, möchte ich" Ruby on Rails Tutorial Sample App "ohne | anzeigen." "Ich möchte das Argument +" | "+" Ruby on Rails Tutorial-Beispiel-App "anzeigen, wenn es mit einem Argument aufgerufen wird." Für den Zweck

Ein Standardargument, mit dem Sie Methodenargumente flexibel ändern können (page_title = '') Man kann sagen, dass die Anzeige mit und ohne Argumente mit geändert wird.

Recommended Posts

Argumente mit Standardwerten Nehmen Sie als Beispiel die Methode full_title des Rails-Lernprogramms
[Ruby] Schlüsselwörter mit Schlüsselwörtern und Standardwerten von Argumenten
Ruft die als Argument übergebene Zeichenfolge als Methode mit send auf
Rails6 Ich möchte ein Array von Werten mit einem Kontrollkästchen erstellen
Initialisieren Sie alle Werte im Formular [Rails] mit einem einzigen Klick (Definition der Hilfsmethode + JavaScript).
[Bestellmethode] Legen Sie die Reihenfolge der Daten in Rails fest
Geben Sie den Standardwert mit @Builder of Lombok an
Übergeben Sie ein Argument an die Methode und erhalten Sie das Ergebnis der Operation als Rückgabewert
Testen Sie den Inhalt einer Excel-Datei mit JUnit
[Rails] Standardmäßig festgelegte Kennwortüberprüfung abbrechen / ändern
Etwa der Ablauf der Entwicklung von Webanwendungen mit Rails.
Verwenden Sie die Standardmethode der Schnittstelle ordnungsgemäß?
[Java] Der Abdeckungsbericht konnte nicht durch Kombinieren der Standardmethode der Cobertura + -Schnittstelle erstellt werden
[Schienen] Was tun, wenn mit der Fehlermethode keine Fehlermeldung angezeigt wird?