Latest web development tutorials

zmienne Ruby

Zmienna trzyma wszelkie dane mogą być wykorzystane przez każdego programu zapisanego.

Ruby obsługuje pięć typów zmiennych.

  • Generalnie małe litery, rozpoczynające się od znaku podkreślenia: variable (zmienna).
  • $ Na początku: zmienna globalna (zmienna globalna).
  • @ Początek: Zmienne instancji (zmienną instancji).
  • @@ Początek: zmienne klasy (Class) zmienne zmienne klasy są dzielone w całym łańcuchu dziedziczenia
  • Start z dużej litery: stała (stała).

Masz w poprzednich rozdziałach o zrozumienie tych zmiennych, rozdział ten dostarczy Ci szczegółowe wyjaśnienie tych pięciu typów zmiennych.

zmienna globalna Ruby

Zmienne globalne zacząć $. zmienna globalna Niezainicjowany jestzerowa,w opcji -w, generowane jest ostrzeżenie.

Aby zmienna globalna cesja zmieni stan globalny, dlatego nie zaleca się stosowanie zmiennych globalnych.

Poniższy przykład pokazuje zastosowanie zmiennych globalnych.

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

Tutaj $ global_variable jest zmienną globalną. To daje następujące wyniki:

Uwaga: W Ruby, można umieścić znak # przed zmiennej lub stałej, aby uzyskać dostęp do dowolnej zmiennej lub stałej wartości.

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

Ruby zmienne instancji

@ Zmiennej instancji, aby rozpocząć. Niezainicjowany zmienna instancji jestzerowa,w opcji -w, generowane jest ostrzeżenie.

Poniższy przykład pokazuje zastosowanie zmiennych instancji.

#! / Usr / bin / ruby

Klasa klienta
   def initialize (id, nazwisko, adres)
      @ Cust_id id =
      @ CUST_NAME = nazwa
      @ Cust_addr = addr
   koniec
   def display_details ()
      puts "id klienta # @ cust_id"
      puts "Nazwa klienta" # @ CUST_NAME
      puts "adres klienta # @ cust_addr"
    koniec
koniec

# Tworzenie cust1 Object = Customer.new ( "1", "Jan", "Mądrość Apartamenty, Ludhiya")
cust2 = Customer.new ( "2", "Poul", "New Empire drogi, Khandala")

# cust1.display_details metoda call ()
cust2.display_details ()

Tutaj @ cust_id @ CUST_NAME i @cust_addr jest zmienną instancji. To daje następujące wyniki:

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

Zmienne klasy Ruby

Na początku @@ zmiennych klasy i musi być zainicjowany zanim będzie można później wykorzystać w definicji metody.

Odnośnik niezainicjowanej klasę zmiennej wygeneruje błąd. Zmienne klasy zdefiniowane w klasy lub podklasy modułów i submodułów mogą być udostępniane.

Po użyciu opcji -w, przeciążenia zmiennych klasy będzie produkować ostrzeżenie.

Poniższy przykład pokazuje zastosowanie zmiennych klasowych.

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

Tutaj @@ no_of_customers jest zmienną klasy. To daje następujące wyniki:

Łączna liczba klientów: 1
Łączna liczba klientów: 2

Ruby zmienne lokalne

Zmienne lokalne zaczynają się od małej litery lub znaku podkreślenia _. Zakres zmiennych lokalnych z klasy, modułu, def czy odpowiedni koniec nawiasu w lewo lub w prawo szelki klamrowych {}.

Podczas rozmowy telefonicznej niezainicjowanej zmiennej lokalnej, jest interpretowany jako wywołanie metody bez parametrów.

Przypisanie zmiennej niezainicjowanej lokalna może być również używany jako deklaracji zmiennej. Zmienna będzie istnieć do końca bieżącej domenie tej pory. Lifecycle zmienne lokalne określona w Ruby parsera.

W powyższym przykładzie, zmienna lokalna jest identyfikator, nazwa i addr.

stałe Ruby

Stała się wielką literą. Definiowanie stałych wewnątrz klasy lub modułu mogą być dostępne od wewnątrz klasy lub modułu, zdefiniowana poza klasy lub modułu stałe mogą być dostępne globalnie.

Stałe nie mogą być określone w metodzie. Odniesienia wystąpi niezainicjowany stały błąd. Już zainicjowane wartościami stałymi wygeneruje ostrzeżenie.

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

Przykład klasy
   VAR1 = 100
   VAR2 = 200
   def pokaż
       stawia "Pierwszym jest stała # {VAR1}"
       puts "Druga stała jest # {VAR2}"
   koniec
koniec

# Tworzenie obiektu Object = Example.new ()
object.show

Tutaj VAR1 i VAR2 są stałymi. To daje następujące wyniki:

Pierwszą stałą wartość 100
Druga stała wynosi 200

Ruby pseudo-zmiennej

Są to specjalne zmienne, o wyglądzie lokalne zmienne, ale działa jak stały. Nie można przypisać dowolną wartość tych zmiennych.

  • samodzielne: obiekty odbiorca obecnej metody.
  • prawda: przedstawiciel prawdziwej wartości.
  • false: reprezentuje wartość false.
  • nil: Przedstawiciel wartość niezdefiniowana.
  • __FILE__: Aktualna nazwa pliku źródłowego.
  • __LINE__: Aktualny numer linii plik źródłowy.