11 juillet 2020 Progression du niveau 175 RubyⅣ
Cette section décrit brièvement les classes et les instances. Afin de créer une «chose» appelée menu par programmation, le dessin de conception est d'abord requis. Le dessin de conception est appelé une classe et la «chose» est appelée une instance. (Créez une «chose» (instance) basée sur le dessin de conception (classe)), préparez donc une classe pour créer une instance, créez une instance à partir de la classe et ajoutez des informations à l'instance.
Les classes peuvent être définies avec «nom de classe de classe». Assurez-vous de démarrer la classe avec des lettres majuscules et n'oubliez pas d'écrire ʻend`. </ font>
index.rb
class Menu
end
attr_accessor Celui qui vous permet de modifier directement la variable d'instance et de l'exploiter. Écrivez ʻattr_accessor symbol` pour avoir des informations. Vous pouvez également utiliser plusieurs variables d'instance pour une classe.
index.rb
class Menu
attr_accessor :name
end
Pour créer une nouvelle instance basée sur la classe, utilisez class name.new
. La variable d'instance générée peut être affectée en définissant nom de variable = nom de classe.new
.
Pour donner des informations à une instance, attribuez une valeur à la variable d'instance préparée par la classe. Vous pouvez définir une valeur dans une variable d'instance avec ʻinstance.variable name = value`.
index.rb
class Menu
#En traitement
end
#Créez une instance à partir de la classe Menu et affectez-la à la variable menu1
menu1=Menu.new
menu1.name="Sushi"
La méthode définie dans la classe est appelée telle qu'elle est utilisée pour l'instance. Appel avec ʻinstance.method name`. Une méthode qui appelle une méthode définie dans une classe est appelée une méthode d'instance.
index.rb
class Menu
attr_accessor :name
attr_accessor :price
#Définir une méthode dans une classe
def show
puts "menu"
end
end
menu1=Menu.new
#Appel d'une méthode définie dans une classe
menu1.show
console
menu
Une méthode à appeler pour une instance définie dans une classe. Il peut accepter des arguments et renvoyer des valeurs. La "variable d'instance" qui correspond aux informations dont dispose l'instance et la méthode d'instance appelée pour l'instance sont définies dans la classe.
index.rb
class Menu
#En traitement
def show(data)
return "#{data}est"
end
end
menu1=Menu.new
puts menu1.show("menu")
console
C'est un menu
Les variables d'instance peuvent être gérées en utilisant une variable spéciale «self» dans la méthode d'instance et en la définissant sur «self.variable name». Dans la méthode d'instance, l'instance appelée elle-même est affectée à la variable «self».
index.rb
class Menu
#En traitement
def show_name
puts "#{self.name}est"
end
end
menu1=Menu1.new
menu1.name="Sushi"
#Invocation de la méthode d'instance
menu1.show_name
console
C'est des sushis
Le traitement peut être exécuté immédiatement après la création d'une instance. Appelé automatiquement immédiatement après la création d'une instance avec nom de classe.new
.
index.rb
class Menu
#En traitement
def initialize
puts "menu"
end
end
#Menu.Appelez automatiquement la méthode initialize lorsque new est exécuté
menu1=Menu.new
console
menu
Dans la méthode d'instance, vous pouvez gérer la variable d'instance avec «self.variable name» et affecter la valeur à la variable d'instance avec «self.variable name = value».
index.rb
class Menu
#En traitement
def initialize
self.name="Sushi"
end
end
menu1=Menu.new
puts menu1.name
console
Sushi
Vous pouvez également passer des arguments à la méthode initialize. Vous pouvez passer la valeur en passant un argument à class.new
. Bien entendu, des arguments de mots clés peuvent également être utilisés.
index.rb
class Menu
#En traitement
def initialize(message)
puts message
end
end
menu1=Menu.new("Hello")
console
Hello
require Lisez le fichier. (Utilisé lorsque l'instruction principale est séparée et que vous souhaitez lire une classe dans un autre fichier)
index.rb
requie "./menu"
menu1=Menu.new(name: "Sushi"
menu.rb
class Menu
attr_accessor :name
attr_accessor :price
end
gets.chomp
Utilisé lors de l'acceptation d'une entrée. Lorsque ce code est exécuté, la console passe dans un état d'attente d'entrée. En définissant variable = gets.chomp
, la valeur d'entrée peut être affectée à la variable jusqu'à ce que la touche Entrée soit enfoncée.
index.rb
puts "Entrez le nom"
name=gets.chomp
puts "Quel est votre nom#{name}est"
console
Entrez le nom
Tanaka (Entrée)
Votre nom est Tanaka
Si vous voulez recevoir un nombre, vous pouvez convertir l'entrée en nombre en faisant gets.chomp.to_i
.
index.rb
puts "Entrez des nombres"
number=gets.chomp.to_i #Convertir le contenu saisi en une valeur numérique
puts "#{number}Deux fois#{number*2}est"
Recommended Posts