Latest web development tutorials

variabili di ruby

Variabile è in possesso di tutti i dati possono essere utilizzati da qualsiasi programma memorizzato.

Rubino supporta cinque tipi di variabili.

  • lettere maiuscole generalmente più bassi, che iniziano con un carattere di sottolineatura: Variabile (variabile).
  • $ All'inizio: una variabile globale (variabile globale).
  • @ L'inizio: il (variabile di istanza) variabili di istanza.
  • @@ Inizio: le variabili di classe (variabile di classe) variabile di classe sono condivisi in tutta la catena di ereditarietà
  • Inizia con una lettera maiuscola: Costante (Constant).

Hai nei precedenti capitoli di capire queste variabili, questo capitolo vi fornirà una spiegazione dettagliata di questi cinque tipi di variabili.

variabile globale Rubino

Le variabili globali iniziano con $. variabile globale non inizializzata èpariazero,l'opzione -w, viene generato un avviso.

Per l'assegnazione variabile globale cambierà stato globale, quindi non è consigliabile l'uso di variabili globali.

L'esempio seguente mostra l'uso di variabili globali.

#!/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

Qui, $ global_variable è una variabile globale. Questo produce i seguenti risultati:

Nota: In Ruby, è possibile inserire il carattere # davanti ad una variabile o costante, di accedere a qualsiasi variabile o valore costante.

全局变量在 Class1 中输出为 10
全局变量在 Class2 中输出为 10

variabili di istanza di Ruby

@ Variabili istanza per cominciare. variabile di istanza non inizializzata èpariazero,l'opzione -w, viene generato un avviso.

L'esempio seguente mostra l'uso delle variabili di istanza.

#! / Usr / bin / ruby

classe Customer
   def inizializzare (id, nome, addr)
      @ Cust_id = id
      @ Cust_name = nome
      @ Cust_addr = addr
   fine
   display_details DEF ()
      puts "ID cliente # @ cust_id"
      puts "Nome del cliente # @ cust_name"
      puts "indirizzo del cliente # @ cust_addr"
    fine
fine

# Crea cust1 Object = Customer.new ( "1", "John", "La saggezza Appartamenti, Ludhiya")
Cust2 = Customer.new ( "2", "Poul", "strada New Empire, Khandala")

# chiamata al metodo cust1.display_details ()
cust2.display_details ()

Qui, @ cust_id, @ cust_name e @cust_addr è una variabile di istanza. Questo produce i seguenti risultati:

Customer id 1
Customer name John
Customer address Wisdom Apartments, Ludhiya
Customer id 2
Customer name Poul
Customer address New Empire road, Khandala

variabili di classe di Ruby

All'inizio del @@ variabili di classe e deve essere inizializzato prima di poter utilizzare nel corso della definizione del metodo.

Riferimento una classe variabile non inizializzata genererà un errore. variabili di classe definite nella classe o sottoclasse di moduli o sottomoduli possono essere condivisi.

Dopo aver utilizzato l'opzione -w, sovraccarico variabili di classe produrrà un avvertimento.

L'esempio seguente mostra l'uso di variabili di 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()

Qui, @@ no_of_customers è una variabile di classe. Questo produce i seguenti risultati:

numero totale di clienti: 1
numero totale di clienti: 2

variabili locali di Ruby

Le variabili locali iniziano con una lettera minuscola o una sottolineatura _. Lo scopo delle variabili locali della classe, il modulo, DEF o fare la fine corrispondente del tutore per le parentesi graffe a sinistra oa destra {}.

Quando si chiama un variabile locale non inizializzata, viene interpretato come chiamare un metodo senza parametri.

Non inizializzata assegnazione variabile locale può essere utilizzata anche come una dichiarazione di variabile. Variabile esisterà fino alla fine del dominio corrente finora. variabili locali del ciclo di vita determinato a Ruby parser.

Nell'esempio precedente, la variabile locale è l'id, nome e addr.

costanti di ruby

Costante con una lettera maiuscola. Definire le costanti all'interno della classe o il modulo si può accedere da all'interno della classe o del modulo, definita al di fuori di una classe o modulo costanti è possibile accedere a livello globale.

Le costanti non possono essere definite all'interno del metodo. Riferimento si verifica un errore costante non inizializzato. valori costanti inizializzati sarà già generare un avviso.

#! / Usr / bin / ruby
# - * - Coding: UTF-8 - * -

Esempio di classe
   VAR1 = 100
   VAR2 = 200
   DEF spettacolo
       mette "La prima costante è # {} VAR1"
       mette "La seconda costante è # {} VAR2"
   fine
fine

# Crea un oggetto Object = Example.new ()
object.show

Qui, VAR1 e VAR2 sono costanti. Questo produce i seguenti risultati:

Il primo valore costante di 100
La seconda costante è di 200

Rubino pseudo-variabile

Sono variabili speciali, con la comparsa di variabili locali, ma agisce come una costante. Non è possibile assegnare un valore a queste variabili.

  • auto: oggetti destinatario del metodo corrente.
  • vero: il rappresentante del vero valore.
  • falso: Il valore rappresenta falso.
  • nil: Rappresentante valore indefinito.
  • __FILE__: Il nome attuale del file di origine.
  • __LINE__: Attuale numero di riga file sorgente.