[RAILS] Ruby Review 1

Objectif de ce message Voici mes propres minutes de révision de Ruby. J'écrirai une liste de ce que j'ai oublié des connaissances que j'ai entrées auparavant. Par conséquent, je viens de l'écrire avec ma propre satisfaction, alors j'ai l'intention de l'effacer lorsque je l'ai frappé dans mon cerveau.

Matériel pédagogique utilisé pour l’apprentissage Udemy ["Introduction à Ruby on Rails pour la première fois - Apprenez Ruby et Rails à partir des bases et publiez des applications Web sur le Net"](https://www.udemy.com/course/the-ultimate-ruby-on-rails- J'ai utilisé bootcamp /) comme matériel pédagogique.

Le but de l'achat est le suivant. ① Création d'une application Rails sur Cloud9 ② Déployer


① Tableau et hachage

○ Disposition

qiita.rb


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

・ Les abonnements commencent à 0 ・ Pour récupérer la variable 2 a [1]

○ Jugement vide

qiita.rb


a.empty

⇨ vrai si le jugement est vide

○ Rechercher un jugement de caractère

qiita.rb


a.include?('Caractère de recherche')

⇨ Renvoie vrai si le caractère de recherche est inclus dans le tableau

○ Stockage de valeurs continues dans un tableau

qiita.rb


aa = (0..100).to_a

⇨ Stocker n ou plusieurs informations spécifiées dans un tableau

○ Opération sur la matrice

qiita.rb


Nom de la séquence.pop
Nom de la séquence.shift
Nom de la séquence<<valeur
Nom de la séquence.join (' ')
Nom de la séquence.sort!.reverse!

Du haut jusqu'en bas ・ Effacer la dernière valeur ・ Effacer la première valeur ・ Ajouter de la valeur à la toute fin ・ Combinez avec un blanc pour chaque indice ・ Inversez le contenu de la matrice

○ Hash

Vous pouvez créer un tableau de 2 variables en spécifiant la clé.

qiita.rb


hacher= {Clé 1=>Valeur 1,Clé 2=>Valeur 2,Clé 3=>Valeur 3}

qiita.rb


met du hachage['Clé 1']
hacher['Clé 4'] =Valeur 4
hacher['Clé 1'] =Valeur 1
hacher.delete('Clé 1')     

Du haut jusqu'en bas ・ Extraction de valeur · Ajouter de la valeur -Récrire la valeur -Supprimer la valeur

○ Symbole

Chaîne sur le code source Traité en interne comme un entier ⇨ Accès plus rapide à l'intérieur du hachage

qiita.rb


hacher= {Clé 1:Valeur 1,Clé 2:Valeur 2,Clé 3:Valeur 3}

qiita.rb


met du hachage[:Clé 1]   
hacher[:Clé 4] =Valeur 4
hacher[:Clé 1] =Valeur 1`     
hacher.delete(:Clé 1)      
hacher.has_key?(:La clé que vous voulez trouver n)  
hacher.size                                         

Du haut jusqu'en bas ・ Extraction de valeur · Ajouter de la valeur -Récrire la valeur -Supprimer la valeur ・ Avez-vous la clé que vous souhaitez trouver? ・ Combien de clés avez-vous? Confirmation

②chaque tableau et chaque hachage

○ chaque baie

qiita.rb


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

<Une autre méthode de description> numbers = [1,2,3,4,5] numbers.each { |number| puts number}

○ chaque cache

qiita.rb


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

③ Créer une classe

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

[Explication] ・ Le premier caractère de la variable lors de la création d'une classe est en majuscule -L'argument spécifié lors de la création d'une instance peut être spécifié comme valeur de retour de initialze. ・ La création d'instance est comme la création d'un clone lors de l'exécution d'une classe. ⇨ Variable = nom de classe.new () lors de la déclaration -Def initialize est le processus exécuté lors de la création de l'instance. -La variable d'instance est la variable @ définie dans initialize. ⇨ Peut être utilisé n'importe où dans la classe

④ Méthode d'instance

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

[Explication] ・ S'il n'y a pas de partie de nom de définition, @name n'est pas accessible depuis l'extérieur de la classe. (La variable d'instance (@name) n'est pas accessible depuis l'extérieur de la classe) -Accessible en exécutant la méthode .name après la création de l'instance ・ La valeur @name correspondant à la méthode .name peut être obtenue. ・ Celles-ci sont appelées «méthodes d'instance» (méthodes getter)

・ À propos de def nama = (valeur) ⇨ En paramétrant boxter.name = 'boxter' après avoir créé l'instance Toute valeur peut être spécifiée pour @name. Elle peut également être sortie (Méthode de description spécifique à Ruby)

⑤ Méthode d'accesseur

qiita.rb


def name
  @name
end

def name = (value)
  @name = value
end

Tout

qiita.rb


attr_accessor :name 

Peut être réalisé avec

méthode attr_accessor ⇨ Comment les développeurs n'ont pas à écrire leurs propres méthodes d'instance (Propriété appelée dans d'autres langues)

[Lors de l'exécution de la lecture uniquement]

qiita.rb


attr_reader :name 

La partie de nom de def peut être décrite en une seule ligne ⇨ Vous pouvez simplement prendre @name

[Lors de l'exécution de l'écriture uniquement]

qiita.rb


attr_writer :name 

def name = (valeur) la partie peut être décrite en une seule ligne ⇨ Vous ne pouvez écrire qu'à @name

⑥ Variable de classe

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

・ Variables utilisées en classe ・ Le caractère de départ commence par @@ 2 caractères ・ Variables requises lors de la gestion des variables que vous ne souhaitez pas réinitialiser pour chaque def ⇨ Efficace lorsque vous souhaitez compter le nombre d'instanciations ⇨ Efficace lorsque vous souhaitez compter le nombre d'exécutions d'une méthode.

⑦ Méthode de classe Méthodes pouvant être appelées directement depuis la classe

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

[Explication] -Ecrire la méthode comme nom de méthode propre -Méthodes qui peuvent être utilisées sans instanciation, telles que Car.info ・ S'il s'agit d'une méthode normale, elle ne devrait pas être utilisable à moins que ce ne soit boxter.info


Recommended Posts

Revue Ruby 2
Ruby Review 1
Ruby apprentissage 4
Rails Examen 1
[Ruby] Tableau
Ruby apprentissage 5
Bases de Ruby
Extraction du double hash "ruby" * Avis
Ajout de rubis
Ruby apprentissage 3
Revue Java
Revue d'encapsulation
Problème de rubis ⑦
Bases de Ruby ~ Revue de difficile à comprendre ~
Ruby apprentissage 2
Ruby apprentissage 6
Paramètres Ruby 1
Ruby apprentissage 1
Rails Revue 2
Avec ruby ● × Game et Othello (examen de base)
Introduction à Ruby 2
majuscule rubis
problème de recherche de rubis
variable constante rubis
Conversion de texte Ruby
Termes de base de Ruby
gestion des exceptions ruby
À propos des symboles Ruby
[ruby] Sortie de forage
J'ai commencé Ruby
Problème d'API ruby
Écriture verticale rubis
[ruby] Sortie de forage
À propos de Ruby Hash
Rubis paramètre 3 Rubocop
[ruby] Sortie de forage
[Ruby] chacun imbriqué
[Ruby] Séquence de nombres à différence égale
Notes de Ruby Hash