[RAILS] Premiers pas avec Ruby

irb Environnement d'exécution interactif

Vérifiez le type d'objet

"String" (récepteur) .class → String  1.class → Integer

Vérifier object_id

"Chaîne de caractères" .object_id → Un autre objet est créé à chaque exécution

  1. object_id → Le même objet numérique est fourni
Combiner des objets

message1 = "message 1" message2 = "message 2" message1.concat (message2) * Les parenthèses peuvent être omises message1 = message 1 message 2

Objet String

Données de type mot ou phrase composées de caractères et de symboles lisibles par l'homme Mettez le contenu entre guillemets (des guillemets simples sont également possibles)

Objet numérique

Objet représentant un nombre

Classes et instances

Le type de fonction qu'un objet peut avoir dépend de la classe d'objet dans laquelle l'objet apparaît. En plus des classes fournies par Ruby en standard (bibliothèque intégrée / bibliothèque attachée standard), vous pouvez également créer vos propres classes.

Screen Shot 2020-07-25 at 22.42.22.png Screen Shot 2020-07-26 at 0.15.32.png

variable

abc = "nom" → String

Méthode de dénomination

Cas de serpent

sample_name

Affaire de chameau

sampleMessage

commentaire

"#Commenter"

Méthode

Le comportement des objets Ruby est une méthode. "Un chien (classe) blé (instance) a la capacité de mentir (méthode) aux humains." = Blé. Dites un mensonge (humain)

Vous pouvez définir la poursuite d'une classe de chien et appeler la méthode "lie" sur n'importe quel objet chien, pas seulement le blé.

chien de classe
def dire un mensonge (humain)
  puts "Chien#{Humain}Mentir à..."
 end
end

Blé=chien.new

Variable d'instance

Variables détenues par l'objet. Il peut être utilisé depuis n'importe quelle méthode de l'objet. Assurez-vous de préfixer le nom avec @.

class Sample
 def samplemethod1
  @number =100 # variable d'instance
 end

 def samplemethod2
  @number
 end
end

#object = Sample.new
#object.samplemethod1 est également objet.samplemethod2 peut aussi être appelé

Variables locales

Variables temporaires ad hoc. Les variables locales définies dans une méthode ne peuvent être utilisées que dans cette méthode.

class Sample
 def samplemethod1
  number =100 # variable locale
 end

 def samplemethod2
  number
 end
end

#object = Sample.new
#object.samplemethod1 peut être appelé, mais object.samplemethod2 ne peut pas être appelé

Setter Setter

class User
 def name=(name) #Setter
  @name = name
 end

 def name #Getter
  @name 
 end
end

#↓ moyen facile d'écrire ↓

class User
 attr_accessor :name, :address, :email
end

opérateur

Left align Left align
+ Ajouter, concaténer des chaînes, concaténer des tableaux
- Dessinez, supprimez certains éléments du tableau
* Multiplier, concaténer à plusieurs reprises des chaînes de caractères, concaténer à plusieurs reprises des tableaux
/ Diviser
% Obtenez le reste
&& / and ET opération
^ Fonctionnement XOR
! / not Retourne la vérité (déni)
= Substitution
== Découvrez s'ils sont égaux
!= Découvrez s'ils ne sont pas égaux
>, >=, <, <= Le côté gauche est grand, le côté gauche est plus que le côté droit, le côté droit est plus grand, le côté droit est plus que le côté gauche

nil État vide sample = nil? Découvrez si c'est nul

Authenticité

Dans Ruby, nil et false sont faux, et les autres sont vrais (0 est également vrai).

Branche conditionnelle

number = 1
if number == 1
 puts 'Le nombre est 1'
elseif number == 2
 puts 'Le nombre est 2'
else
 puts 'Valeurs numériques autres que 1 et 2'
end
#Expression utilisant sauf
age = 20
unless age >= 20
 puts "Je n'ai pas le droit de voter "
end
#Expression utilisant if
age = 20
if age < 20
 puts "Je n'ai pas le droit de voter "
end

Postfix si

met "ceci est la sortie" si vrai met "Ce n'est pas une sortie" si faux

Tableau

Structure dans laquelle plusieurs éléments sont stockés dans l'ordre array = ["123", false, nil, 1, [a,b,c]] Ajouter un élément array << a

array = [1,2,3]
array.each do |element|
 puts element
end
class User
 attr_accessor
end

user1 = User.new
user1.name = 'mayu'
user2 = User.new
user2.name = 'ayako'
user3 = User.new
user3.name = 'kenji'

users = [user1, user2, user3]

#Si vous voulez en obtenir un par un,
#Méthode ① Utilisez chaque
names = []
users.each do |user|
 names << user.name
end
p names
#==>["mayu", "ayako", "kenji"]

#Méthode ② Utiliser la carte
names = users.map do |user|
 user.name
end
#==>["mayu", "ayako", "kenji"]

#Omission de méthode ② ①
names = users.map{ |user| user.name }
#==>["mayu", "ayako", "kenji"]

#Omission de méthode ②
names = users.map(&:name)
#==>["mayu", "ayako", "kenji"]

hacher

Structure de données qui stocke en interne des données en association avec des clés

Diverses notations

#Utiliser une chaîne de caractères comme clé
{"student1" => mayu, "student2" => asami}

#Utilisez une chaîne comme clé et utilisez un deux-points au lieu d'une fusée de hachage
{"student1":  mayu, "student2": asami}

#Utilisez le symbole comme clé
{:student1 => mayu, student2 => asami}

#Symbole comme clé,Utilisez deux points au lieu de la fusée de hachage * Général
{student1:  mayu, student2: asami}

Obtenez de la valeur

array = {:student1 => mayu, student2 => asami}
puts array[:student1]
#Sortie comme mayu

Mettre à jour la valeur

array = {:student1 => mayu, student2 => asami}
array[:student1] = 'misaki'
puts array[:student1]
#Sortie comme misaki

[Référence | Guide pratique d'apprentissage rapide Ruby on Rails 5 qui peut être utilisé sur le terrain](https://www.amazon.co.jp/%E7%8F%BE%E5%A0%B4%E3%81%A7%E4%BD % BF% E3% 81% 88% E3% 82% 8B-Ruby-Rails-5% E9% 80% 9F% E7% BF% 92% E5% AE% 9F% E8% B7% B5% E3% 82% AC % E3% 82% A4% E3% 83% 89-% E5% A4% A7% E5% A0% B4% E5% AF% A7% E5% AD% 90 / dp / 4839962227)

Recommended Posts

Premiers pas avec Ruby
Premiers pas avec les modules Ruby
Premiers pas avec DBUnit
Premiers pas avec Swift
Premiers pas avec Doma-Transactions
Premiers pas avec Ruby pour les ingénieurs Java
Premiers pas avec le traitement Doma-Annotation
Premiers pas avec JSP et servlet
Premiers pas avec les bases de Java
Premiers pas avec Spring Boot
Premiers pas avec Java_Chapitre 5_Exercices pratiques 5_4
[Google Cloud] Premiers pas avec Docker
Premiers pas avec Docker avec VS Code
J'ai commencé Ruby
Premiers pas avec Doma-Criteria API Cheet Sheet
Premiers pas avec Docker pour Mac (installation)
Introduction au test de paramétrage dans JUnit
Introduction à Java à partir de 0 Partie 1
Premiers pas avec Ratpack (4) - Routage et contenu statique
Démarrez avec le fonctionnement de JVM GC
Premiers pas avec Language Server Protocol avec LSP4J
Premiers pas avec la création d'ensembles de ressources avec ListResoueceBundle
Premiers pas avec Java_Chapter 8_A propos des "Instances" et des "Classes"
Liens et mémos pour démarrer avec Java (pour moi-même)
Premiers pas avec les sous-requêtes utilisant Doma avec l'API Criteria
Premiers pas avec Java 1 Assembler des éléments similaires
Premiers pas avec Kotlin à envoyer aux développeurs Java
Premiers pas avec Doma-Using Joins avec l'API Criteira
Premiers pas avec Doma - Introduction à l'API Criteria
Commencez avec Gradle
Evolve Eve avec Ruby
J'ai essayé de démarrer avec Gradle sur Heroku
Prise en main des programmes Java à l'aide de Visual Studio Code
Premiers pas avec les anciens ingénieurs Java (Stream + Lambda)
Changer de version Ruby avec rbenv
J'ai essayé DI avec Ruby
Client GraphQL commençant par Ruby
Démarrez avec Spring Boot
Formater Ruby avec VS Code
Comment vérifier les nombres entiers avec ruby
Prise en main de Completable Future (First Future)
[Ruby] problème avec l'instruction if
Étudier à CodeWar (ruby) ⑤ Proc
Utilisez Ruby avec Google Colab
[ruby] Appel d'une méthode avec un argument
Premiers pas avec Java et création d'un éditeur Ascii Doc avec JavaFX
Premiers pas avec Doma-Dynamic Construction de clauses WHERE avec l'API Criteria
Premiers pas avec Reactive Streams et l'API JDK 9 Flow
Premiers pas avec Git Hub Container Registry au lieu de Docker Hub
Commençons par la programmation parallèle