[RAILS] Ruby Review 1

Zweck dieses Beitrags Dies ist mein eigenes Protokoll zur Überprüfung von Ruby. Ich werde eine Liste von dem schreiben, was ich aufgrund des Wissens, das ich zuvor eingegeben habe, vergessen habe. Deshalb habe ich es nur mit meiner eigenen Zufriedenheit geschrieben, also habe ich vor, es zu löschen, wenn ich es in meinem Gehirn getroffen habe.

Unterrichtsmaterialien zum Lernen Udemys ["Einführung in Ruby on Rails zum ersten Mal - lernen Sie Ruby und Rails aus den Grundlagen und veröffentlichen Sie Webanwendungen im Internet"](https://www.udemy.com/course/the-ultimate-ruby-on-rails- Ich habe Bootcamp /) als Unterrichtsmaterial verwendet.

Der Kaufzweck sind die folgenden zwei. ① Erstellen einer Rails-App in Cloud9 ② Bereitstellen


① Array und Hash

○ Anordnung

qiita.rb


a = [Variable 1,Variable 2,Variable 3]

・ Indizes beginnen bei 0 ・ Um Variable 2 a abzurufen [1]

○ Leeres Urteil

qiita.rb


a.empty

⇨ wahr, wenn das Urteil leer ist

○ Suche nach Zeichen

qiita.rb


a.include?('Zeichen suchen')

⇨ Gibt true zurück, wenn das Suchzeichen im Array enthalten ist

○ Speicherung kontinuierlicher Werte in einem Array

qiita.rb


aa = (0..100).to_a

⇨ Speichern Sie n oder mehr angegebene Informationen in einem Array

○ Operation zum Array

qiita.rb


Sequenzname.pop
Sequenzname.shift
Sequenzname<<Wert
Sequenzname.join (' ')
Sequenzname.sort!.reverse!

Von oben nach unten ・ Löschen Sie den letzten Wert ・ Löschen Sie den ersten Wert ・ Mehrwert ganz am Ende ・ Kombinieren Sie mit einem Leerzeichen für jeden Index ・ Kehren Sie den Inhalt des Arrays um

○ Hash

Sie können ein Array mit 2 Variablen erstellen, indem Sie den Schlüssel angeben.

qiita.rb


Hash= {Schlüssel 1=>Wert 1,Schlüssel 2=>Wert 2,Schlüssel 3=>Wert 3}

qiita.rb


setzt Hash['Schlüssel 1']
Hash['Schlüssel 4'] =Wert 4
Hash['Schlüssel 1'] =Wert 1
Hash.delete('Schlüssel 1')     

Von oben nach unten ・ Wertschöpfung · Mehrwert -Überschreibungswert -Löschen Sie den Wert

○ Symbol

Zeichenfolge im Quellcode Intern als Ganzzahl behandelt ⇨ Schnellerer Zugriff im Hash

qiita.rb


Hash= {Schlüssel 1:Wert 1,Schlüssel 2:Wert 2,Schlüssel 3:Wert 3}

qiita.rb


setzt Hash[:Schlüssel 1]   
Hash[:Schlüssel 4] =Wert 4
Hash[:Schlüssel 1] =Wert 1`     
Hash.delete(:Schlüssel 1)      
Hash.has_key?(:Der Schlüssel, den Sie finden möchten n)  
Hash.size                                         

Von oben nach unten ・ Wertschöpfung · Mehrwert -Überschreibungswert -Löschen Sie den Wert ・ Haben Sie den Schlüssel, den Sie finden möchten? Bestätigen Sie ・ Wie viele Schlüssel haben Sie? Bestätigung

②jedes Array und jeder Hash

○ jedes Array

qiita.rb


numbers = [1,2,3,4,5]
numbers.each do |number|
numbers = [1,2,3,4,5] numbers.each { |number| puts number}

○ jeder Cache

qiita.rb


scores = {luke: 100,jack: 90,robert: 70}
scores.each do |k,v|
     puts v
     puts "#{k},#{v}"
end

③ Klasse erstellen

qiita.rb


class Car
  def initialize(name)
    puts 'initialize'
    @name = name
  end
  
  def hello
    puts "Hello! I am #{@name}."
  end
end

boxter = Car.new('boxter')
boxter.hello

carrera = Car.new('carrera')
carrera.hello

[Erläuterung] ・ Das erste Zeichen der Variablen beim Erstellen einer Klasse ist Großbuchstaben -Das beim Erstellen einer Instanz angegebene Argument kann als Rückgabewert von initialze angegeben werden. ・ Die Instanzerstellung ist wie das Erstellen eines Klons beim Ausführen einer Klasse. ⇨ Variable = Klassenname.new () beim Deklarieren -Def initialize ist der Prozess, der beim Erstellen der Instanz ausgeführt wird. -Die Instanzvariable ist die in initialize definierte @ -Variable. ⇨ Kann überall in der Klasse verwendet werden

④ Instanzmethode

qiita.rb


class Car

  def initialize(name)
    @name = name
  end
  
  def hello
    puts "Hello! I am #{@name}."
  end
end

def name
  @name
end

def name = (value)
  @name = value
end

boxter = Car.new('boxter')
boxter.hello
boxter.name
boxter.name = '718boxter'
puts boxter.name

[Erläuterung] ・ Wenn kein def name-Teil vorhanden ist, kann von außerhalb der Klasse nicht auf @name zugegriffen werden. (Auf die Instanzvariable (@name) kann nicht von außerhalb der Klasse zugegriffen werden.) -Zugriff durch Ausführen der .name-Methode nach dem Erstellen der Instanz ・ Der Wert @name, der der .name-Methode entspricht, kann abgerufen werden. ・ Diese werden als "Instanzmethoden" (Getter-Methoden) bezeichnet.

・ Über def nama = (Wert) ⇨ Durch Setzen von boxter.name = 'boxter' nach dem Erstellen der Instanz Für @name kann ein beliebiger Wert angegeben werden. Er kann auch ausgegeben werden (Ruby-spezifische Beschreibungsmethode)

⑤ Accessor-Methode

qiita.rb


def name
  @name
end

def name = (value)
  @name = value
end

Alles

qiita.rb


attr_accessor :name 

Kann mit erreicht werden

attr_accessor-Methode ⇨ Wie Entwickler keine eigenen Instanzmethoden schreiben müssen (In anderen Sprachen als Eigentum bezeichnet)

[Wenn nur das Lesen ausgeführt wird]

qiita.rb


attr_reader :name 

def name part kann in einer Zeile beschrieben werden ⇨ Sie können einfach @name abholen

[Wenn nur geschrieben wird]

qiita.rb


attr_writer :name 

def name = (Wert) Teil kann in einer Zeile beschrieben werden ⇨ Sie können nur in @name schreiben

⑥ Klassenvariable

qiita.rb


class Car
  @@count
  def initialize(name)
    puts 'initialize'
    @name = name
    @@count += 1
  end

  def self.info
    puts "Test"
  end
  
  def hello
    puts "Hello! I am #{@name}."
  end
end

・ In der Klasse verwendete Variablen ・ Das Startzeichen beginnt mit @@ 2 Zeichen ・ Variablen, die für die Behandlung von Variablen erforderlich sind, die nicht für jede Def zurückgesetzt werden sollen ⇨ Wirksam, wenn Sie die Anzahl der Instanziierungen zählen möchten ⇨ Wirksam, wenn Sie zählen möchten, wie oft eine Methode ausgeführt wird.

⑦ Klassenmethode Methoden, die direkt aus der Klasse aufgerufen werden können

qiita.rb


class Car
  def initialize(name)
    puts 'initialize'
    @name = name
  end

  def self.info
    puts "Test"
  end
  
  def hello
    puts "Hello! I am #{@name}."
  end
end

Car.info
boxter = Car.new('boxter')
boxter.hello

carrera = Car.new('carrera')
carrera.hello

[Erläuterung] -Schreiben Sie die Methode als Selbst. Methodenname -Methoden, die ohne Instanziierung verwendet werden können, wie z. B. Car.info ・ Wenn es sich um eine normale Methode handelt, sollte sie nur verwendet werden können, wenn es sich um boxter.info handelt


Recommended Posts

Ruby Review 2
Ruby Review 1
Rubin lernen 4
Rails Review 1
[Ruby] Array
Rubin lernen 5
Ruby-Grundlagen
Extraktion von "Ruby" Double Hash * Review
Rubinzusatz
Ruby lernen 3
Java-Überprüfung
Verkapselungsüberprüfung
Rubinproblem ⑦
Grundlagen von Ruby ~ Rückblick auf schwer verständliche ~
Ruby lernen 2
Rubin lernen 6
Ruby-Einstellungen 1
Rubin lernen 1
Rails Review 2
Mit Rubin ● × Game und Othello (Grundlegende Bewertung)
Einführung in Ruby 2
Rubin Großbuchstaben
Ruby-Suchproblem
Ruby-Konstante variabel
Ruby-Textkonvertierung
Ruby Grundbegriffe
Behandlung von Ruby-Ausnahmen
Über Ruby-Symbole
[Rubin] Bohrleistung
Ich habe Ruby gestartet
Ruby API Problem
Rubin vertikales Schreiben
[Rubin] Bohrleistung
Über Ruby Hash
Ruby Einstellung 3 Rubocop
[Rubin] Bohrleistung
[Ruby] jeweils verschachtelt
[Ruby] Gleiche Differenznummernfolge
Ruby Hash Notizen