Kapitel 4 Rails Flavoured Ruby

4.1 Motivation

■ Helfer Was Sie aufrufen müssen, wenn Sie eine kleine Verarbeitung in der Ansicht durchführen möchten. Die Entität ist ein Modul. In App / Helfern definiert. Rufen Sie mit <% = ~%> an, wenn Sie es verwenden möchten.

■ Eingebauter Helfer Eine in Rails integrierte Funktion, damit sie bei der Verarbeitung einer bestimmten Operation als Methode behandelt werden kann. Es kann verwendet werden, ohne es in Helfern zu definieren.

4.2 Zeichenfolgen und Methoden

[Trainieren]

    1. Ersetzen Sie die Stadtvariable durch die entsprechende Stadt / Gemeinde / Stadt / Dorf und die Präfekturvariable durch die entsprechende Präfektur. city = "Yokohama" prefecture = "Kanagawa"
  1. Erstellen wir eine Zeichenfolge einer Adresse wie "Shinjuku-ku, Tokio" unter Verwendung der zuvor erstellten Variablen und Ausdruckserweiterungen. Verwenden Sie Puts für die Ausgabe. setzt Präfektur + "Präfektur" + Stadt + "Stadt"

    1. Versuchen Sie, den halbbreiten Abstand zwischen den obigen Zeichenfolgen durch eine Registerkarte zu ersetzen. (Hinweis: Wie beim Zeilenvorschub ist auch die Registerkarte ein Sonderzeichen.) Versuch es
  2. Was passiert, wenn Sie die Zeichenfolge in doppelten Anführungszeichen durch eine Zeichenfolge in einfachen Anführungszeichen ersetzen? Versuch es

■ Objekt In Ruby ist alles ein Objekt.

  1. Haben Sie eine Identität
  2. Erhalten Sie eine Nachricht
  3. Haben Sie einen internen Zustand Ein Objekt ist eines, das (jederzeit) auf eine Nachricht reagiert.

Sie können eine Frage in einer Zeichenfolge stellen, und die Zeichenfolge beantwortet diese Frage. Wenn Sie die Frage (Methode) "leer?" Stellen, wird beantwortet, ob die Zeichenfolge leer ist.

■ Methodenkette Verbinde dich mit_s und entleere dich mit einem Gefühl wie "nil.to_s.empty?".

[Trainieren]

    1. Wie lang ist die "Rennwagen" -Saite? Versuchen Sie es mit der Längenmethode. racecar.length
  1. Verwenden Sie die umgekehrte Methode, um herauszufinden, was passiert, wenn Sie die Zeichenfolge "Rennwagen" in umgekehrter Reihenfolge lesen. racecar.reverse

    1. Ordnen Sie der Variablen s "Rennwagen" zu. Verwenden Sie dann den Vergleichsoperator (==), um festzustellen, ob die Werte der Variablen s und s.reverse gleich sind. s=racecar s == s.reverse
  2. Was ist das Ergebnis der Ausführung von Listing 4.9? Was passiert, wenn ich der Variablen s die Zeichenfolge "onomatopoeia" zuweise? Tipp: Verwenden Sie den Aufwärtspfeil (oder den Befehl Strg-P), um den zuvor verwendeten Befehl wiederzugeben. Dies ist praktisch, da Sie nicht alle Befehle von Grund auf neu eingeben müssen. ) puts "It's a palindrome!" if s == s.reverse s="onomatopoeia" puts "It's a palindrome!" if s == s.reverse

[Trainieren]

    1. Versuchen Sie, den Teil FILL_IN in Listing 4.10 durch den entsprechenden Code zu ersetzen und eine Methode zu definieren, um nach einer Runde zu suchen. Tipp: Siehe Vergleichsmethode in Listing 4.9. if s==s.reverse
  1. Verwenden Sie die oben definierte Methode, um festzustellen, ob „Rennwagen“ und „Onomatopoeia“ Runden sind. Wenn das Ergebnis ist, dass das erste ein Rundschreiben ist und das zweite kein Rundschreiben, ist es ein Erfolg. Rennwagen, Onomatopoeia in s von palindrome_tester (s) Es ist in Ordnung, wenn Sie jeweils schreiben.

    1. Versuchen Sie, die Methode nil? Auf palindrome_tester ("racecar") aufzurufen, und prüfen Sie, ob der Rückgabewert nil ist (dh stellen Sie sicher, dass das Ergebnis des Aufrufs von nil? Is true ist). Diese Methodenkette bedeutet, dass die Methode nil? Den Rückgabewert in Listing 4.10 empfängt und das Ergebnis zurückgibt. →palindrome_tester("racecar").nil?

4.3 Andere Datenstrukturen

[Trainieren]

    1. Teilen Sie die Zeichenfolge "Ein Mann, ein Plan, ein Kanal, Panama" durch ",", um ein Array zu erstellen, und weisen Sie es der Variablen a zu. a = "A man, a plan, a canal, Panama".split(",")
  1. Versuchen Sie nun, das Ergebnis (Zeichenfolge) der Verkettung der Elemente der Variablen a in die Variable s zu ersetzen. s = a.join

  2. Teilen Sie die Variable s durch ein Leerzeichen halber Breite und verketten Sie sie dann erneut, um eine Zeichenfolge zu erstellen (Hinweis: Sie können dies mithilfe der Methodenkette in einer Zeile tun). Verwenden Sie die in Listing 4.10 verwendete Prüfmethode, um sicherzustellen, dass die Variable s (derzeit noch) kein Zirkular ist. Verwenden Sie die Downcase-Methode, um sicherzustellen, dass s.downcase ein Kreis ist. s = s..split(" ") def palindrome_tester(s) palindrome_tester(s.split.join.downcase)

  3. Erstellen Sie ein Bereichsobjekt von a bis z und versuchen Sie, das 7. Element zu extrahieren. Versuchen Sie auf die gleiche Weise, das 7. Element von hinten zu extrahieren. (Hinweis: Vergessen Sie nicht, das Bereichsobjekt in ein Array zu konvertieren.) a=('a'..'z').to_a a[6] a[-7]

■ Kartenmethode Die Verarbeitung im Block wird für die Anzahl der Elemente des Arrays wiederholt, und das resultierende Array wird zurückgegeben.

■ Methode ausführen Verwenden Sie es zusammen mit dem Test, um die gesamte Verarbeitung bis zum Ende auszuführen.

[Trainieren] Kürzung

■ Hash Hash = assoziatives Array

■ Symbol Es ist schneller, Symbole zu verwenden. In einem zusammengesetzten Array user = { "name" => "Michael Hartl", "email" => "[email protected]" } user = { :name => "Michael Hartl", :email => "[email protected]" } user = { name : "Michael Hartl", email : "[email protected]" } Sieht genau so aus.

[Trainieren] Kürzung

4.4 Klassen in Ruby

[Trainieren] Kürzung

■superclass Alles gehört zu einer Klasse. Da Schienen zu allen gehören, ist es möglich, Anwendungen automatisch zu entwickeln.

[Trainieren] Kürzung

[Trainieren] Kürzung

[Trainieren] Kürzung

[Trainieren] Kürzung

4.5 Schließlich

Ich bin erstaunt über meine geringe Motivation. Kommen wir zurück, nachdem wir Kapitel 5 ausgeführt haben.

Recommended Posts

Kapitel 4 Rails Flavoured Ruby
[Rails Tutorial Kapitel 4] Ruby mit Rails-Geschmack
Schienen-Tutorial Kapitel 6
Schienen-Tutorial Kapitel 1
Schienen-Tutorial Kapitel 7
Schienen-Tutorial Kapitel 5
Schienen-Tutorial Kapitel 10
Schienen-Tutorial Kapitel 9
Schienen-Tutorial Kapitel 8
Rails Tutorial Kapitel 3 Lernen
Ruby on Rails Elementary
Ruby on Rails Grundlagen
Rails Tutorial Memorandum (Kapitel 3, 3.1)
Rails Tutorial Kapitel 4 Lernen
Ruby On Rails Association
Rails Tutorial Kapitel 1 Lernen
Rails Tutorial Kapitel 2 Lernen
Ruby on Rails5 - Schnellübungshandbuch 5.2 Kompatibel Kapitel2
Ruby on Rails5 - Schnellübungshandbuch 5.2 Kompatibel Kapitel3
Ruby on Rails Lernrekord -2020.10.03
Rails Engineer Environment Construction Ruby2.7.1
Portfolioerstellung Ruby on Rails
Schienen Umgebungsbau Schienen5.2.1 ruby2.5.1 Catalina
Ruby on Rails Lernrekord -2020.10.04
[Ruby on Rails] Debuck (bindend.pry)
Ruby on Rails Lernrekord -2020.10.05
Ruby on Rails Lernrekord -2020.10.09
Ruby on Rails lernen Rekord-2020.10.07 ②
Ich habe Rails Anfänger ausprobiert [Kapitel 1]
Ruby on Rails lernen Rekord-2020.10.07 ①
Brechen Sie die Ruby on Rails-Migration ab
Ich habe Rails Anfänger ausprobiert [Kapitel 2]
Ruby on Rails Lernrekord -2020.10.06
Zusammenfassung der Ruby on Rails-Validierung
Ruby on Rails Grundlegendes Memorandum
[Ruby on Rails] Leseversuch (: [],: Schlüssel)
Ruby on Rails-Variablen, konstante Zusammenfassung
Installation von Ruby + Rails unter Ubuntu 18.04 (rbenv)
[Ruby on Rails] Paging-Funktion eingeführt
Grundkenntnisse in Ruby on Rails
Progate Ruby on Rails5 Rückblick
[Rails Tutorial Kapitel 5] Erstellen Sie ein Layout
Verwendung von Ruby on Rails
Ruby on Rails Japanisch-Englisch kompatibler i18n
(Ruby on Rails6) Gepostete Inhalte "löschen"