[RUBY] Tutoriel Rails Chapitre 4 Apprentissage

Où j'ai pensé (.´ ・ ω ・) dans le chapitre 4 du didacticiel Rails

Je pense que c'est parce qu'il est produit avec des connaissances et un examen préalables. Je n'ai pas vraiment réfléchi à ce chapitre (.´ ・ ω ・). La vidéo et le texte étaient très faciles à comprendre.

Rails Chapitre 4 Revue de contenu simple

Le chapitre 4 est Ruby aromatisé aux Rails. C'est la première fois qu'une orientation d'objet aussi simple à comprendre. J'ai également appris de Python de Progate et de Ruby de TECH :: CAMP. .. .. (゜ - ゜) Hmm, je me demandais si l'orientation objet était délicieuse.

Bien expliqué ... Toutes choses sont des objets. Un objet pour les personnes, un objet pour les voitures Il y a une personne qui s'appelle John. John appartient à une personne. Les gens ont des facteurs tels que la profession, le sexe et l'âge. .. .. On a l'impression que le code est écrit en fonction de ce contenu (.´ ・ ω ・)?

Pour expliquer l'orientation de l'objet dans mes mots ...

"Chaîne"il y a.
Lorsqu'il est écrit d'une manière orientée objet,
"12345".length #Vous pouvez utiliser la méthode pour compter les caractères.
"12345".to_i   #Vous pouvez utiliser une méthode pour convertir une chaîne de caractères en entier.

.méthode de longueur.to_Que puis-je utiliser même si ma méthode n'est pas définie??
⇒ Parce que la réponse est écrite de manière orientée objet.

encore,(.. ´ ・ ω ・)Hmm?Je me sens

Réellement"Chaîne"と書けばChaîneと認識されていますが、
String.new("Chaîne")Est une abréviation pour le code.
Chaîne(String)Objet de classe"Chaîne"Cela signifie faire.

Chaîne de caractères à l'avance(String)Différentes méthodes sont fournies dans la classe.
String.new("")Étant donné que l'objet créé dans est un objet chaîne de caractères, les méthodes prédéfinies peuvent être utilisées.

En classe de chaîne.to_i méthode est préparée, donc
Aussi la chaîne de caractères nouvellement générée.to_Cela signifie que vous pouvez utiliser diverses méthodes telles que i.

Le plus grand avantage de l'orientation objet est
En générant toujours une chaîne de caractères en tant qu'objet chaîne de caractères.to_Il est possible de partager des méthodes telles que i.('ω')Non
Si vous ajoutez une nouvelle méthode à la classe string, elle peut être utilisée avec tous les objets string.
Quand j'ai appris chez Progate(.. ´ ・ ω ・)Hmm?C'était, mais maintenant je trouve ça pratique(´-ω-`)

Classes et héritage

"Chaîne"Appartient à la classe String.
Pour voir où il appartient.Vous pouvez utiliser la méthode de classe.

s = "Chaîne"

s.class
⇒ String

En fait, la classe String appartient également à la classe Object.
>> s.class.superclass             # superclass :Examiner la classe parent
=> Object

La classe Object appartient également à une classe supérieure.
>> s.class.superclass.superclass 
=> BasicObject

BasicObject appartient-il à une classe supérieure? La réponse était non. Cela signifie que nul n'existe.
>> s.class.superclass.superclass.superclass
=> nil

La raison pour laquelle je fais cela est de reprendre la fonction.('ω')Non
Sous la classe Object, String(Chaîne)・ Entier(entier)・ Réseau(Tableau)Il y a des cours et ainsi de suite.
Tableaux, entiers, chaînes,.Vous pouvez utiliser la méthode de la longueur, non?
Il est difficile d'ajouter chacun des trois.
Donc, si vous l'ajoutez à Object et que vous le rendez disponible dans les classes inférieures, vous pouvez économiser du temps et des efforts.

L'héritage d'une méthode définie dans une classe supérieure à une méthode inférieure de cette manière est appelé «héritage».('ω')Non

#class <nom de la classe>Vous pouvez définir une nouvelle classe avec.
>> class Word < String             # <String peut hériter de la classe String('ω')Non
>>   #Renvoie true si la chaîne est une circulaire
>>   def palindrome?        #Vous pouvez définir une nouvelle méthode avec def.
>>     self == self.reverse        #self représente la chaîne elle-même
>>   end
>> end
=> :palindrome?

Bases de Ruby

$ rails console

#Addition d'entiers
>> 17 + 42
=> 59

#Concaténation de chaînes
>> "foo" + "bar"    #Concaténation de chaînes
=> "foobar"

#Affectation des variables
>> first_name = "Michael"
=> "Michael"

#Expression des chaînes de caractères C'est pratique('ω')Non, je l'utilise également dans Rails.
>> "#{first_name} Hartl"
=> "Michael Hartl"

#Expression d'expression('ω')Non
>> first_name = "Michael"
=> "Michael"
>> last_name = "Hartl"
=> "Hartl"
>> first_name + " " + last_name    #À combiner avec un espace entre le nom et le prénom
=> "Michael Hartl"
>> "#{first_name} #{last_name}"    #Rejoindre en utilisant l'expansion d'expression(Exactement le même que ci-dessus)
=> "Michael Hartl"

#Sortie de chaîne(puts)
>> puts "foo"     #Sortie d'une chaîne de caractères
foo
=> nil #La valeur de retour est nulle "rien"

#Sortie de chaîne(print)
>> print "foo"    #Sortie écran de la chaîne de caractères(Identique aux met mais sans pause)
foo=> nil

>> print "foo\n"  # \n est un saut de ligne. Cela produira le même résultat que les put.
foo
=> nil

#''Avec devis unique""Double devis
>> '#{first_name} #{last_name}'    # ''Impossible de développer l'expression.
=> "/#{first_name} #{last_name}"

>> "#{first_name} #{last_name}"    # ""Peut être développé en expressions.
=> "Michael Hartl"

# empty?Méthode
>> "foobar".empty?
=> false
>> "".empty?
=> true

#Branche conditionnelle(if)・.include?("Chaîne")・.nil?Méthode
>> if s.nil?
>>   "The variable is nil"
>> elsif s.empty?
>>   "The string is empty"
>> elsif s.include?("foo")
>>   "The string includes 'foo'"
>> end
=> "The string includes 'foo'"


#Van!Van!Valeur logique forcée(True/False)Sortie avec
>> !!nil #L'objet Ruby est faux uniquement pour nul
=> false

>> !!0  #Tous les autres objets Ruby sont vrais
=> true

Est-ce environ la moitié du contenu? Il y a beaucoup de volume. Des contenus importants tels que des tableaux et des hachages suivent ... Je me demande si c'est un copyright si j'écris tout, donc si j'écris sur les symboles, c'est fini ('ω')

À propos des symboles, des entiers et des chaînes

#Il s'agit d'un tableau étiqueté appelé Hash.
user1 = { "name"=>"test_user", "email" => "[email protected]" }
user2 = { "name"=>"test_user", "email" => "[email protected]" }

user1 == user2
=> false

Pourquoi est-ce faux alors que le contenu est le même?('ω')Non
En fait objet_La chose appelée id est différente, veuillez donc vérifier qu'elle est différente.
user1.object_id 
user2.object_id

Cet objet_L'identifiant est comme l'endroit où les données sont stockées.
Essayez-le également avec une chaîne. Objet à chaque fois que vous exécutez_L'identifiant changera.
"name".object_id
"name".object_id
"name".object_id

Vient ensuite le nombre. Et les chiffres? Les nombres sont toujours le même objet_Cela devient id.
1.object_id
1.object_id
1.object_id

Enfin ... un symbole. Les symboles sont des objets aussi bien que des nombres_L'identifiant ne change pas.
:name #:+Une chaîne de caractères est appelée un symbole, mais un objet_Pensez-y comme quelque chose étiqueté avec id.

La raison en est que c'est plus rapide que d'utiliser une chaîne.('ω')Non
Ainsi, le nom d'étiquette du hachage est préféré au symbole par rapport à la chaîne.

◎ user = { :name=> "test_user" , :email => "[email protected]" }
△ user = { "name"=>"test_user", "email" => "[email protected]" }

Il peut être écrit encore plus facilement.
user = { :name=> "test_user" , :email => "[email protected]" }
user = { name: "test_user", email: "[email protected]" }

Aide personnalisée

Si vous définissez vous-même la méthode, écrivez-la dans un fichier appelé helper ('ω')

app/helpers/application_helper.rb


module ApplicationHelper

  #Renvoie le titre complet par page.
  def full_title(page_title = '')
    base_title = "Ruby on Rails Tutorial Sample App"
    if page_title.empty?
      base_title
    else
      page_title + " | " + base_title
    end
  end
end

Impressions

Le chapitre 4 est très riche et intéressant. Vous devez connaître Ruby pour définir vous-même diverses méthodes. Il existe différentes méthodes, mais je ne me souviens que de quelques-unes. Après avoir appris Rails, vous devez apprendre Ruby correctement ... Hmm, la pointe est longue et longue (^ ω ^) ...

Recommended Posts

Tutoriel Rails Chapitre 4 Apprentissage
Tutoriel Rails Chapitre 1 Apprentissage
Tutoriel Rails Chapitre 2 Apprentissage
tutoriel rails Chapitre 6
tutoriel rails Chapitre 1
tutoriel rails Chapitre 7
tutoriel rails Chapitre 5
tutoriel rails Chapitre 10
tutoriel rails Chapitre 9
[Rails] Didacticiel Apprendre avec les rails
Mémorandum du didacticiel Rails (Chapitre 3, 3.1)
Tutoriel Rails 6e édition Résumé d'apprentissage Chapitre 10
Rails Tutorial 6e édition Résumé de l'apprentissage Chapitre 7
Tutoriel Rails 6e édition Résumé de l'apprentissage Chapitre 4
Tutoriel Rails 6e édition Résumé de l'apprentissage Chapitre 6
Tutoriel Rails 6e édition Résumé de l'apprentissage Chapitre 5
Rails Tutorial 6e édition Résumé de l'apprentissage Chapitre 2
Tutoriel Rails Chapitre 0: Apprentissage préliminaire des connaissances de base 5
Tutoriel Rails 6e édition Résumé de l'apprentissage Chapitre 3
Rails Tutorial 6e édition Résumé d'apprentissage Chapitre 8
rails tutry
tutoriel sur les rails
rails tutry
[Tutoriel Rails Chapitre 4] Rubis à saveur de Rails
rails tutry
tutoriel sur les rails
tutoriel sur les rails
[Tutoriel Rails Chapitre 5] Créer une mise en page
Tutoriel de mastication des rails [Chapitre 2 Application jouet]
Tutoriel Rails (4e édition) Mémo Chapitre 6
Test du tutoriel sur les rails
Mémorandum du didacticiel Rails 1
Rails Learning jour 3
Tutoriel Rails Memorandum 2
Rails Learning jour 4
Rails Learning jour 2
[Débutant] Tutoriel Rails
rails d'apprentissage jour 1
Rubis aromatisé aux rails
Fiche technique du didacticiel Rails
Tutoriel Rails Chapitre 1 De zéro au déploiement [Essayer]
Rails apprentissage 2ème jour 2
Rails Learning Jour 1 Partie 3
Rails Learning Jour 3 Partie 2
Tutoriel de mastication des rails [Chapitre 3 Création de pages presque statiques]
Rails Learning Jour 1 Partie 2
rails Tutorial Fighting Record III
Résoudre Gem :: FilePermissionError lors de l'exécution de rails d'installation de gem (Tutoriel Rails Chapitre 1)
Ruby on Rails5 Guide pratique d'apprentissage rapide 5.2 Chapitre 2 compatible
Ruby on Rails5 Guide pratique d'apprentissage rapide 5.2 Chapitre compatible3
Tutoriel Rails 4e édition: Chapitre 1 De zéro au déploiement