[RUBY] Schienen Lerntag 1

Ruby on Rails 5 Schnelllernhandbuch Kapitel 1

1-1-6 Klassen und Instanzen (S.6)

・ Beziehung zwischen Klasse und Instanz Die Klasse ist übergeordnet und die Instanzen sind untergeordnet, und es gibt viele Instanzen in der Klasse. Untitled-2.jpg Um ein Beispiel zu geben, bedeutet dies, dass Herr A (Instanz), Herr B (Instanz), Herr C (Instanz) und Herr D (Instanz) in der Gliederung (Klasse) von Menschen existieren.

1-2-5 Unterschied zwischen lokaler Variable und Instanzvariable

Art Charakteristisch
Lokale Variablen Temporäre Ad-hoc-Variablen. Kann nur innerhalb der definierten Methode verwendet werden
Instanzvariable Vom Objekt gehaltene Variablen. Wenn es innerhalb einer Instanz definiert ist, kann es für jede Methode verwendet werden, die in dieser Instanz nicht vorhanden ist.

Beispiel)

class MyClass
 def method_1
  @number=100
 end

 def method_2
  @number  #Andere Methoden(method_1)Definiert in@eine andere Methode für die Nummer(method_2)Verfügbar um
 end
end

1-2-7 Verwendung von (attr_accessor) zum einfachen Definieren von Gettern und Setzern

Wenn Sie Instanzvariablen wie @name richtig verwenden möchten, müssen Sie zwei Dinge tun:

  1. Definieren Sie eine Methode, um @name den Namen der erstellten Informationen zuzuweisen, damit diese verwendet werden können.
  2. Definieren Sie eine Namensmethode, um @name anzuzeigen
class User
 def name=(name) #1.
  @name = name
 end

 def name #2.
  @name 
 end

Die Methode, die @name verwenden kann, wird erst abgeschlossen, nachdem Sie hierher gekommen sind. ... aber es ist nervig.

class User
 attr_accessor :name
end

Durch die Verwendung von attr_accessor wurde es sofort aktualisiert.

1-2-8 Haben Sie einen Wohnort und eine E-Mail-Adresse (spezifische Verwendung von attr_accessor)

An attr_accessor können verschiedene Attribute angehängt werden

class User
 atte_accessor :name, :address, :email
end

Wenn Sie jedes Attribut verwenden möchten, gehen Sie wie folgt vor

user = User.new
user.name = "Yu Odai"
user.address = "Tokio"

def profile  #Ich habe eine Methode erstellt, um den Namen und die Herkunft anzuzeigen
 "#{name}(#{address})"
end

user.profile #Führte die Profilmethode aus, die den Namen und die Herkunft des Benutzers zusammen anzeigt
=> "Yu Odai(Tokio)"

Sie können Benutzerinformationen mit Name und Adresse eingeben und anrufen.

1-3-4-2, es sei denn, es verzweigt sich, wenn es nicht zutrifft (Verwendung, es sei denn)

if führt den Prozess aus, wenn das Ergebnis der Bedingung wahr ist, aber es sei denn, der Prozess wird ausgeführt, wenn das Ergebnis der Bedingung falsch ist. (Machen Sie das Gegenteil von if)

1-3-4-3 Postfix wenn

Das übliche if ist an der Rückseite angebracht. Wenn usw. nicht angehängt werden kann und nur auf eine Zeile wirkt

puts 'Guten Morgen' if true  #Ausgabe

puts 'Danke für deine harte Arbeit' if false  #Nicht ausgegeben

Der obige Code lautet "Drucke Put, wenn das Ergebnis wahr ist". Da das Ergebnis wahr ist, wird "Guten Morgen" ausgegeben.

1-3-6 Hash

Wenn Sie den gewünschten Wert in einem normalen Array erhalten möchten, müssen Sie die Nummer (Nummer) angeben. Dies wird unmöglich, wenn die Informationsmenge in der Sequenz zunimmt. Daher verwenden wir einen Hash und geben jedem Wert so etwas wie einen Spitznamen (Schlüssel). Wenn Sie auf diese Weise einen Spitznamen eingeben, wird der damit verbundene Wert automatisch angezeigt.

 jinnkou ={ tokyo: 13636222, kanagawa: 9145572 }
         #{Spitzname (Schlüssel):Bevölkerung von Tokio,Spitzname (Schlüssel):Kanagawa Bevölkerung}

puts jinnkou[:tokyo]
=> 13636222

Setzen Sie: in [] und geben Sie den Spitznamen (Schlüssel) ein

1-4-1 initialize Immer wenn Sie "OO.new" in Ruby ausführen, wird die Initialisierung in der Klasse OO ausgeführt. Ermöglicht die Eingabe von Werten, die Tabellenspalten entsprechen Zum Beispiel, wenn Sie neue Informationen mit Namen, Adresse und E-Mail-Spalten in die Benutzertabelle einfügen Wenn Sie die Initialisierung (Name, Adresse, E-Mail) schreiben, führen Sie Vorgänge aus, z. B. "Der erste in Klammern ist der Name, der zweite ist die Adresse und der dritte ist die E-Mail."

class User #User.Sie können initialize verwenden, wenn es neu ist
 def initialize(name, address, email)
   @name = name
   @address = address
   @email = email
 end
end
user = User.new("Neiko Oba","Tokio","nil")
                 # ||       ||      ||
  #initialize(  name   ,address, email)

1-4-2 Methodenaufrufe einschränken (privat)

Wenn jemand die Methode verwenden kann, führt dies aus Sicherheitsgründen zu Problemen wie dem Verlust persönlicher Informationen. Verwenden Sie daher die private Methode, um zu verhindern, dass die Methode von außen verwendet wird.

1-5-2 Gemeinsam nach Modul (Mix-In)

Machen Sie kleine Methoden (nur ein Prozess oder der Prozess selbst einfach) zu einer Gruppe als Modul, damit sie in verschiedenen Klassen verwendet werden können.

#Modul, das den Preis zusammenfasst
module PriceHolder
 def total_price
  price*Tax.rate
 end
end

class Product
 include PriceHolder
 attr_accessor :price
end

class OrderedItem
 include PriceHolder
 attr_accessor :unit_price, :volume

#Stückpreis ohne Steuern*Menge
 def price
  unit_price*volume
 end
end

Der Prozess des Multiplizierens des Preises mit dem Verbrauchsteuersatz, um den Rückgabewert zu erhalten, wird als PriceHolder-Modul verwendet, und das PriceHolder-Modul wird für jede Klasse verwendet. Verwenden Sie include, wenn Sie Module verwenden.

1-7-1 keine Wache

number ||=10

Wenn es eine Nummer gibt, wird die Nummer verwendet, andernfalls wird die Nummer verwendet, indem die Nummer durch 10 ersetzt wird.

1-7-2 Bocchi-Bediener &.

Wenn Sie beispielsweise eine Benutzertabelle haben, aber object.name eingeben, wird eine Fehlermeldung angezeigt, da keine Objekttabelle vorhanden ist. Wenn Sie jedoch das bocchi-Operatorobjekt & .name verwenden, wird nil anstelle eines Fehlers als Rückgabewert zurückgegeben, wenn keine Tabelle vorhanden ist.

1-7-3% Notation

ary1 = ['apple', 'banana' ,'orange']
# %Wenn Sie die Notation verwenden
ary1 = %w[apple banana orange]

Wenn Sie die% -Notation verwenden, können Sie "" weglassen.

1-7-4 Extrahieren Sie nur bestimmte Attribute aus jedem Element des Arrays (Map-Methode)

class User
 attr_accessor :name, :address
end

user1 = User.new(name:'Neiko Oba', address:'Tokio')
user2 = User.new(name:'Miyuki Koshiba', address:'Präfektur Chiba')
user3 = User.new(name:'Yu Odai', address:'Präfektur Kanagawa')

users = [user1,user2.user3]

Verwenden Sie zu diesem Zeitpunkt die Zuordnungsmethode, wenn Sie nur die Namen der einzelnen Benutzer in einem Array anzeigen möchten.

names = users.map(&:name)
=>["Neiko Oba","Miyuki Koshiba","Yu Odai"]

Auf diese Weise können Sie, wenn Sie die ursprüngliche Array-Karte (&: gewünschte Informationen) verwenden, ein Array nur mit den gewünschten Informationen erstellen.

Andere Notizen, die ich gelernt habe

  1. erforderlich: Wird beim Lesen des Quellcodes verwendet (in diesem Fall user.rb).
> require './user.rb'
  1. Zeitpunkt für die Verwendung von return

Der bei der Ausführung der Methode zurückgegebene Wert wird als "Rückgabewert" bezeichnet. Wenn eine Methode ausgeführt wird, gibt sie grundsätzlich einen Rückgabewert aus, aber einen Rückgabewert, wenn alle Methoden ausgeführt wurden. Wenn Sie einen Rückgabewert in der Mitte der Methode wünschen, verwenden Sie return, um den Rückgabewert abzurufen.

Recommended Posts

Rails Lerntag 4
Schienen lernen Tag 2
Schienen Lerntag 1
Schienen lernen Tag 1 Teil 2
Programmiertag 3
Java-Lerntag 2
Java-Lerntag 1
Rails Tutorial Kapitel 3 Lernen
[Rails] Lernen mit Rails Tutorial
Rails Tutorial Kapitel 4 Lernen
Rails Tutorial Kapitel 1 Lernen
Rails Tutorial Kapitel 2 Lernen
Ruby on Rails Lernrekord -2020.10.04
Ruby on Rails Lernrekord -2020.10.05
Java-Lerntag 4
Ruby on Rails lernen Rekord-2020.10.07 ②
Ruby on Rails lernen Rekord-2020.10.07 ①
Ruby on Rails Lernrekord -2020.10.06
[Schienen g. Fehler]
Rails Tutorial 6. Ausgabe Lernzusammenfassung Kapitel 10
Java lernen (0)
Rubin lernen 4
Rails Tutorial 6. Ausgabe Lernzusammenfassung Kapitel 7
Rails Grundlagen
Rails API
Schienenmigration
Rails Tutorial 6. Ausgabe Lernzusammenfassung Kapitel 4
[Rails] first_or_initialize
Java Day 2018
Schienen Tutry
Rails Tutorial 6. Ausgabe Lernzusammenfassung Kapitel 9
Rails Tutorial 6. Ausgabe Lernzusammenfassung Kapitel 6
Über Schienen 6
Servlet lernen
Ruby lernen 3
Schienenfundament
Rails Tutorial 6. Ausgabe Lernzusammenfassung Kapitel 5
Rails Memorandum
Schienen Tutry
Deshalb habe ich dieses Mal die Methode "Verknüpfen des Inhalts des Verzeichnisses" übernommen. Ich denke, es wird je nach Zeit und Fall richtig verwendet. Tutorial zu Linux, ln, Linux-Befehlsschienen
Lernleistung ~ 11/3 ~
Rails Tutorial 6. Ausgabe Lernzusammenfassung Kapitel 2
Rails Tutorial Kapitel 0: Vorbereitende Grundkenntnisse 5
Ruby lernen 2
Maven lernen
[Schienen] erfinden
Rubin lernen 6
Schienen Tutry
Rails Tutorial 6. Ausgabe Lernzusammenfassung Kapitel 3
Schienen Tutorial
Lernergebnisse
Schienen Tipps
Schienenmethode
Schienen Tutorial
Rubin lernen 1
Muskel Rubin auf Schienen Tag 1 ~ Umweltbau ~
Rails Review 2