Ich hoffe, dass Sie einige nützliche Informationen über häufig verwendete Variablen und ihre verwendbaren Bereiche finden. Da ich ungefähr zweieinhalb Monate studiert habe, kann es auch zu Fehlern kommen. Klicken Sie hier für den Inhalt des Artikels
Übrigens, hier ist die Version von Ruby, die Sie lernen
ruby 2.6.5
Stellen Sie sich eine Variable als "Feld zum Speichern beliebiger Werte" vor. Zum Beispiel ist es ein Bild, in dem die Buchstaben "Apfel" in das Feld (Variable) mit der Bezeichnung "Apfel" eingefügt werden. Dies wird ausgedrückt als "** Zuweisen des Zeichens" Apfel "zur Variablen Apfel". Verwenden Sie beim Ersetzen auch "=". Seien Sie vorsichtig, da sich die Bedeutung von der Arithmetik "=" unterscheidet.
apple = "Apfel"
Indem Sie auf diese Weise eine Variable erstellen (definieren), können Sie den Wert des Inhalts verwenden, indem Sie diese Variable aufrufen.
puts apple
=>Apfel
Der Grund dafür ist, dass das wiederholte Schreiben desselben Codes eine sehr zeitaufwändige Aufgabe ist. Wenn Sie also die Variablen im Voraus definieren, können Sie Zeit sparen und die Werte korrigieren, selbst wenn Korrekturen vorgenommen werden. Wird sein. Wenn Sie beispielsweise ein Programm schreiben, das die Fläche eines Kreises berechnet, kann die Fläche des Kreises anhand des Verhältnisses "Radius x Radius x Umfang" berechnet werden. Wenn das Umfangsverhältnis 3,14 beträgt,
#Formel für die Fläche eines Kreises mit einem Radius von 3
3 * 3 * 3.14
#Formel für die Fläche eines Kreises mit einem Radius von 5
5 * 5 * 3.14
Sie kann nach dieser Formel berechnet werden. Wenn zum Zeitpunkt, zu dem das Programm zu einem gewissen Grad geschrieben wird, "Ich möchte, dass Sie das Umfangsverhältnis auf 3 korrigieren", müssen Sie jedoch alle Umfangsverhältnisse in der obigen Beschreibung korrigieren. Definieren wir also eine Variable für das Umfangsverhältnis.
#Definieren Sie das Umfangsverhältnis mit der Variablen pi
pi = 3.14
#Formel für die Fläche eines Kreises mit einem Radius von 3
3 * 3 * pi
#Formel für die Fläche eines Kreises mit einem Radius von 5
5 * 5 * pi
Wenn das Umfangsverhältnis korrigiert wird und der Wert der Variablen korrigiert wird, werden auf diese Weise auch andere Ausdrücke korrigiert. Lassen Sie uns für Werte, die wiederholt verwendet werden, etwas wie "einer Variablen zuweisen" ausführen.
Es gibt 5 Arten von Ruby-Variablen mit jeweils unterschiedlichen Verwendungsbereichen. Variablentypen werden durch den ersten Buchstaben in eine der folgenden Kategorien eingeteilt.
Variablentyp | Beschreibung | Nutzbereich (Umfang) |
---|---|---|
Globale Variablen | $〇〇 | Kann von überall im Skript referenziert und aktualisiert werden |
Klassenvariable | @@〇〇 | Kann überall in der Klasse referenziert werden |
Instanzvariable | @〇〇 | Kann überall in der Instanz referenziert werden |
Lokale Variablen | 〇〇 | Kann nur innerhalb der definierten Methode referenziert werden |
Pseudovariable | Selbst, Null usw. |
Diese Variablen haben das Konzept des Gültigkeitsbereichs, das den Bereich definiert, in dem sie verwendet werden können. (Mit Ausnahme von Pseudovariablen) Wenn Sie diesen nutzbaren Bereich nicht kennen, treten häufig Fehler auf. Seien Sie also vorsichtig.
Globale Variablen, die am Anfang mit einem $ definiert sind, können unabhängig vom Gültigkeitsbereich verwendet werden. Der breiteste Anwendungsbereich. (Seien Sie also vorsichtig, wenn Sie es verwenden)
$hoge = "hoge"
def huga
puts $hoge => "hoge"
end
huga #=> "hoge"
Es ist eine Variable, die von der gesamten Klasse gemeinsam genutzt wird, und wird als Klassenvariable definiert, wenn der Variablenname mit @@ beginnt, z. B. @@ 〇〇.
class User
@@name = "tanaka"
def name
puts @@name
end
end
user_first = User.new
user_first.name #=> "tanaka"
Auf den ersten Blick ist es praktisch, aber aufgrund des großen Bereichs kann es unbeabsichtigt überschrieben werden und der Wert kann sich ändern.
class User
def initialize(name)
@@name = name
end
def name
puts @@name
end
end
user_first = User.new("suzuki")
user_second = User.new("sato")
user_first.name #=> "sato"
user_secont.name #=> "sato"
Instanzvariablen sind Variablen, die für jede aus der Klasse erstellte Instanz einen Wert haben. Der Bereich liegt innerhalb der Instanz. Schreiben wir es auf die gleiche Weise wie im obigen Beispiel für Klassenvariablen.
class User
def initialize(name)
@name = name
end
def name
puts @name
end
end
user_first = User.new("suzuki")
user_second = User.new("sato")
user_first.name #=> "suzuki"
user_second.name #=> "sato"
Im Gegensatz zu zuvor wird der Wert nicht überschrieben. Instanzvariablen werden sehr häufig beim Erstellen von Apps mit Ruby on Rails verwendet. Stellen Sie daher sicher, dass Sie sie verstehen. Informationen zum Prozessablauf der Instanz finden Sie in diesem Artikel, da er leicht zu verstehen ist.
[Ruby] Ich habe wieder etwas über Klassen und Instanzen gelernt
Lokale Variablen sind die Variablen mit dem engsten Gültigkeitsbereich und können nur innerhalb definierter Methoden verwendet werden. Lassen Sie uns wie im vorherigen Beispiel die Instanzvariable in eine lokale Variable ändern.
class User
def initialize(name)
local_name = name
end
def name
puts local_name
end
end
user1 = User.new("suzuki")
user2 = User.new("sato")
user1.name
user2.name
#Der folgende Fehler tritt auf
=> undefined local variable or method `local_name' for #<User:0x00007fd91d104f48> (NameError)
Wenn Sie es als lokale Variable ausführen, tritt der obige Fehler auf. Dies liegt daran, dass ich versucht habe, eine Variable von außerhalb des Gültigkeitsbereichs aufzurufen, sodass die Fehlermeldung "Es gibt keine solche Methode" angezeigt wird. Wie Sie sehen können, hat jede Variable einen Gültigkeitsbereich. Seien Sie also vorsichtig, wenn Sie sie verwenden.
Es ist eine spezielle Variable, die sich von einer normalen Variablen unterscheidet.
** self ** Das Objekt der aktuellen Methode ** nil ** Die einzige Instanz der NilClass? -Klasse ** true ** Die einzige Instanz der TrueClass? -Klasse. Echter repräsentativer Wert ** false ** FalseClass? Die einzige Instanz der Klasse. Stellt false dar ** \ __FILE __ ** Repräsentiert den aktuellen Namen der Quelldatei ** \ LINE ** Repräsentiert die Zeilennummer in der aktuellen Quelldatei
Wenn Sie versuchen, dieselben Variablen wie diese Variablennamen zu definieren, wird der folgende Fehler angezeigt:
SyntaxError ((irb):1: Can't change the value of self)
self = hoge
^~~~
Da der Wert von self nicht geändert werden kann, ist es ein Fehler, dass "der Wert self nicht geändert werden kann". Ich verstehe, dass es sich um eine Variable handelt, die ursprünglich definiert wurde und nicht geändert werden kann. (Ich lerne hier)
Variablentypen und -bereiche usw. Wenn Sie die Grundlagen nicht verstehen, treten beim Erstellen von Apps häufig Fehler auf. Die Grundlagen sind wirklich wichtig. Ich werde weiter hart lernen und mein Verständnis vertiefen.
[Ruby] Ich habe wieder etwas über Klassen und Instanzen gelernt [Ruby 2.7.0 Referenzhandbuch] (https://docs.ruby-lang.org/ja/latest/doc/spec=2fvariables.html#instance) [Reverse Ruby] (https://sites.google.com/site/gyakuhikiruby/home/bian-shutosukopu) Kennen Sie die Arten von Variablen! Verwendung des variablen Bereichs in Ruby
Recommended Posts