[RUBY] Es ist leicht, es loszuwerden, aber ich habe die Times-Methode noch einmal zusammengefasst.

Was ist die Zeitmethode

Eine Methode, die für numerische Objekte verwendet werden kann. Wiederholen Sie den in do ~ end enthaltenen Vorgang für die Anzahl der Zahlen.

Fazit

Ich wage es, mit der Schlussfolgerung zu beginnen.

・ ~~ Blockvariable ~~ Der Blockparameter ist nur im Block (Bereich) gültig.

  • Die außerhalb definierten können auch innerhalb des Blocks verwendet werden (beachten Sie, dass sie neu geschrieben werden können) </ font>

Ich möchte, dass Sie dies in die Ecke Ihres Kopfes stecken und weiterlesen.

Umfang

Der Bereich ist der Bereich, in dem die definierten Variablen verwendet werden können.

Block

do~endOder{ }(Wellen)Das Innere wird Block genannt. Außerdem im Block|Variablennamen| ||Variablen in (Pipeline)~~Blockvariable~~Es wird als Blockparameter bezeichnet.

STEP1

Beginnen Sie hier, um sicherzustellen, dass Sie es verstehen.


num = 1
puts num
#=>1

Ein solches Programm erscheint ganz am Anfang von Variablen. Um dies sorgfältig zu erklären, wird der Variablen num der numerische Wert 1 zugewiesen und durch Puts aufgerufen. Ich bin mir dessen nicht bewusst, aber da es sich um den Bereich (Bereich) der Variablen num handelt, kann er mit Puts aufgerufen werden.

STEP2

num = 1

3.times do
 puts num
end
#=>1
#  1
#  1

Dies führte dazu, dass "Puts num" dreimal und eine "1" dreimal wiederholt wurde. Bemerkenswert ist der Umfang der Variablen num. Sie können Variablen verwenden, die außerhalb von "do ~ end" definiert sind.

STEP3

3.times do
 num = 1
end
puts num
#=>NameError

Der Code ähnelt STEP2, aber ich erhalte eine Fehlermeldung. ↓


NameError (undefined local variable or method num for main:Object)

Die einfache Übersetzung lautet " num von setzt num ist nicht definiert". Richtig, alles, was innerhalb von "do ~ end" definiert ist, kann nicht außerhalb von "do ~ end" aufgerufen werden. Eigentlich ein Stolperpunkt! !!

STEP4

num = 1

3.times do|i|
 num = num + i
end
puts num
#=>4

Zu lesende Punkte ① ~~ Blockvariable ~~ Blockparameter beginnen bei 0 und erhöhen sich um 1. Im obigen Beispiel wird angenommen, dass "0" in der ersten Woche ersetzt wird, "1" in der zweiten Woche ersetzt wird und "2" in der dritten Woche ersetzt wird.

(2) Die externen Variablen wurden neu geschrieben.

Wenn Sie es sorgfältig schreiben ↓

  1. Woche num + 0 => num ist als 1 definiert, daher wird num "1 + 0" zugewiesen.
  2. Woche num + 1 => Von oben ist num 1 und da es die 2. Woche ist, wechselt ich zu 1 und "1 + 1" wird num zugewiesen.
  3. Woche num + 2 => Von oben ist num 2, und da es die 3. Woche ist, wechselt ich zu 2 und "2 + 2" wird num zugewiesen.

Punkt

  • [x] ~~ Blockvariable ~~ Wie der Name schon sagt, sind Blockparameter nur innerhalb von Blöcken gültig.
  • [x] Variablen, die außerhalb des Blocks definiert sind, können durch Verarbeitung innerhalb des Blocks neu geschrieben werden.

Schließlich

In Bezug auf die iterative Verarbeitung handelt es sich um einen Inhalt, den Sie in einem frühen Stadium programmieren und lernen. Selbst wenn Sie glauben, ihn zu verstehen, können Sie sich möglicherweise nicht an die Details erinnern. Nutzen Sie diese Gelegenheit, um ihn zu überprüfen.

Recommended Posts

Es ist leicht, es loszuwerden, aber ich habe die Times-Methode noch einmal zusammengefasst.
Methode, um die Anzahl der Jahre zu addieren und das Monatsende zu erhalten
Rufen Sie den Typ eines Elements eines Arrays ab, um festzustellen, ob es sich um ein Array handelt
Jetzt habe ich die Grundlagen von RecyclerView zusammengefasst
[Java] Ist es nicht erforderlich, "Identität" bei der Implementierung der equals () -Methode zu überprüfen?
Wie komme ich zum heutigen Tag?
Ausgabe der Verwendung der Slice-Methode
[Java] So erhalten Sie die URL der Übergangsquelle
[Java] So erhalten Sie den Maximalwert von HashMap
[Android] So erhalten Sie die Einstellungssprache des Terminals
[Rails] So erhalten Sie den Inhalt starker Parameter
[Swift] So erhalten Sie die Firebase-Dokument-ID
Ich möchte eine Liste des Inhalts einer Zip-Datei und ihrer unkomprimierten Größe erhalten