Le meilleur didacticiel Variables Ruby en 2024, dans ce didacticiel, vous pouvez apprendre variable globale Ruby,variables d'instance Ruby,variables de classe Ruby,variables locales Ruby,constantes Ruby,Ruby pseudo-variable,
Variable tient toutes les données peuvent être utilisées par un programme stocké.
Ruby prend en charge cinq types de variables.
$
Au début: une variable globale (variable globale). @
Le début: les variables d'instance (variable d'instance). @@
Début: variable de classe (variable de catégorie) les variables de classe sont partagés entre la chaîne d'héritage Vous avez dans les chapitres précédents sur la compréhension de ces variables, ce chapitre vous fournir une explication détaillée de ces cinq types de variables.
Les variables globales commencent par $. variable globale Uninitialized estnul,dans l'option -w, un avertissement est généré.
Pour l'affectation variable globale va changer l'état global, donc nous ne recommandons pas l'utilisation de variables globales.
L'exemple suivant montre l'utilisation de variables globales.
#!/usr/bin/ruby # -*- coding: UTF-8 -*- $global_variable = 10 class Class1 def print_global puts "全局变量在 Class1 中输出为 #$global_variable" end end class Class2 def print_global puts "全局变量在 Class2 中输出为 #$global_variable" end end class1obj = Class1.new class1obj.print_global class2obj = Class2.new class2obj.print_global
Ici, $ variable_globale est une variable globale. On obtient les résultats suivants:
Remarque: Dans Ruby, vous pouvez placer le caractère # devant une variable ou constante, pour accéder à une variable ou valeur constante.
全局变量在 Class1 中输出为 10 全局变量在 Class2 中输出为 10
@ Variable d'instance pour commencer. variable d'instance non initialisée estnul,dans l'option -w, un avertissement est généré.
L'exemple suivant montre l'utilisation de variables d'instance.
#! / Usr / bin / ruby classe client initialiser def (id, nom, addr) @ Cust_id = id @ Cust_name = nom @ Cust_addr = addr fin display_details def () puts "id client # @ cust_id" puts "Nom du client # @ cust_name" puts "Adresse du client # @ cust_addr" fin fin # Créer un objet cust1 = Customer.new ( "1", "John", "Sagesse Apartments, Ludhiya") Cust2 = Customer.new ( "2", "Poul", "route Nouvel Empire, Khandala") # méthode d'appel cust1.display_details () () cust2.display_details
Ici, @ cust_id, @ cust_name et @cust_addr est une variable d'instance. On obtient les résultats suivants:
Customer id 1 Customer name John Customer address Wisdom Apartments, Ludhiya Customer id 2 Customer name Poul Customer address New Empire road, Khandala
Au début des variables @@ de classe et doit être initialisé avant de pouvoir utiliser plus tard dans la définition de la méthode.
Référence une classe variable non initialisée va générer une erreur. Les variables de classe définies dans la classe ou sous-classe de modules ou sous-modules peuvent être partagés.
Après avoir utilisé l'option -w, la surcharge des variables de classe va produire un avertissement.
L'exemple suivant montre l'utilisation de variables de classe.
#!/usr/bin/ruby class Customer @@no_of_customers=0 def initialize(id, name, addr) @cust_id=id @cust_name=name @cust_addr=addr end def display_details() puts "Customer id #@cust_id" puts "Customer name #@cust_name" puts "Customer address #@cust_addr" end def total_no_of_customers() @@no_of_customers += 1 puts "Total number of customers: #@@no_of_customers" end end # 创建对象 cust1=Customer.new("1", "John", "Wisdom Apartments, Ludhiya") cust2=Customer.new("2", "Poul", "New Empire road, Khandala") # 调用方法 cust1.total_no_of_customers() cust2.total_no_of_customers()
Ici, @@ no_of_customers est une variable de classe. On obtient les résultats suivants:
Nombre total de clients: 1 Nombre total de clients: 2
Les variables locales commencent par une lettre minuscule ou un trait de soulignement _. La portée des variables locales de la classe, module, def ou faire l'extrémité correspondante de l'accolade aux accolades gauche ou à droite {}.
Lorsque vous appelez une variable locale non initialisée, il est interprété comme appelant une méthode sans paramètres.
affectation variable locale non initialisée peut également être utilisé comme une déclaration de variable. Variable existera jusqu'à la fin du domaine actuel jusqu'à présent. Cycle de vie des variables locales déterminées à Ruby parser.
Dans l'exemple ci-dessus, la variable locale est l'identifiant, le nom et adr.
Constant avec une lettre majuscule. Définir des constantes au sein de la classe ou le module peut être consulté à partir de la classe ou du module, définies en dehors d'une des constantes de classe ou modules sont accessibles à l'échelle mondiale.
Les constantes ne peuvent pas être définies dans le procédé. Référence une erreur constante uninitialized se produit. Déjà valeurs constantes initialisées va générer un avertissement.
#! / Usr / bin / ruby # - * - Codage: UTF-8 - * - Exemple de classe VAR1 = 100 VAR2 = 200 def show puts "La première constante est # {VAR1}" puts "La deuxième constante est # {VAR2}" fin fin # Créer un objet Object = Example.new () object.show
Ici, VAR1 et VAR2 sont des constantes. On obtient les résultats suivants:
La première valeur constante de 100 La seconde constante est de 200
Ils sont des variables spéciales, avec l'apparition des variables locales, mais agit comme une constante. Vous ne pouvez pas attribuer une valeur à ces variables.