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.
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 (.´ ・ ω ・)?
"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(´-ω-`)
"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?
$ 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 ('ω')
#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]" }
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
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