Latest web development tutorials

variabel Ruby

Variabel memegang data dapat digunakan oleh setiap program yang tersimpan.

Ruby mendukung lima jenis variabel.

  • huruf umumnya lebih rendah, dimulai dengan garis bawah: Variable (Variable).
  • $ Pada awal: variabel global (variabel Global).
  • @ Awal: contoh variabel (variable Instance).
  • @@ Awal: variabel Kelas (variabel Class) variabel Kelas dibagi di rantai warisan
  • Mulailah dengan huruf kapital: Constant (Constant).

Anda memiliki dalam bab-bab sebelumnya tentang pemahaman variabel-variabel ini, bab ini akan memberikan Anda penjelasan rinci dari lima jenis variabel.

variabel global Ruby

variabel global mulai dengan $. variabel global diinisiasi adalahnihil,pada opsi -w, peringatan dihasilkan.

Untuk variabel tugas global akan mengubah keadaan global, jadi kami tidak merekomendasikan penggunaan variabel global.

Contoh berikut menunjukkan penggunaan variabel global.

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

Di sini, $ global_variable adalah variabel global. Ini menghasilkan hasil sebagai berikut:

Catatan: Di Ruby, Anda dapat menempatkan karakter # di depan variabel atau konstanta, untuk mengakses variabel atau nilai konstan.

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

Misalnya variabel Ruby

@ Variabel Instance untuk memulai. variabel contoh diinisiasi adalahnihil,pada opsi -w, peringatan dihasilkan.

Contoh berikut menunjukkan penggunaan variabel instance.

#! / Usr / bin / ruby

class Customer
   def initialize (id, nama, addr)
      @ CUST_ID = id
      @ CUST_NAME = nama
      @ Cust_addr = addr
   akhir
   display_details def ()
      puts "Pelanggan id # @ cust_id"
      puts "Nama Pelanggan # @ cust_name"
      puts "Alamat Pelanggan # @ cust_addr"
    akhir
akhir

# Buat Object cust1 = Customer.new ( "1", "John", "Kebijaksanaan Apartments, Ludhiya")
cust2 = Customer.new ( "2", "Poul", "New Empire jalan, Khandala")

# Metode Panggilan cust1.display_details ()
cust2.display_details ()

Di sini, @ cust_id, @ cust_name dan @cust_addr adalah variabel instansi. Ini menghasilkan hasil sebagai berikut:

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

variabel kelas ruby

Pada awal @@ variabel kelas dan harus diinisialisasi sebelum Anda dapat menggunakan nanti dalam definisi metode.

Referensi variabel kelas diinisiasi akan menghasilkan kesalahan. variabel kelas didefinisikan dalam kelas atau subkelas dari modul atau sub-modul dapat dibagi.

Setelah menggunakan pilihan w, overloading variabel kelas akan menghasilkan peringatan.

Contoh berikut menunjukkan penggunaan variabel kelas.

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

Di sini, @@ no_of_customers adalah variabel kelas. Ini menghasilkan hasil sebagai berikut:

Total jumlah pelanggan: 1
Total jumlah pelanggan: 2

variabel lokal Ruby

variabel lokal dimulai dengan huruf kecil atau garis bawah _. Ruang lingkup variabel lokal dari kelas, modul, def atau melakukan sesuai akhir penjepit untuk kurung kurawal kiri atau kanan {}.

Ketika Anda memanggil variabel lokal diinisiasi, itu dianggap sebagai memanggil metode tanpa parameter.

Diinisiasi tugas variabel lokal juga dapat digunakan sebagai deklarasi variabel. Variabel akan ada sampai akhir domain saat ini sejauh ini. variabel lokal siklus hidup ditentukan pada Ruby parser.

Dalam contoh di atas, variabel lokal adalah id, nama dan alamat.

konstanta Ruby

Konstan dengan huruf besar. Mendefinisikan konstanta dalam kelas atau modul dapat diakses dari dalam kelas atau modul, didefinisikan luar konstanta kelas atau modul dapat diakses secara global.

Konstanta tidak dapat didefinisikan dalam metode. Referensi kesalahan konstan diinisiasi terjadi. Sudah nilai konstan diinisialisasi akan menghasilkan peringatan.

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

kelas Contoh
   Var1 = 100
   Var2 = 200
   def acara
       menempatkan "Konstanta pertama adalah # {var1}"
       menempatkan "Kedua konstan adalah # {var2}"
   akhir
akhir

# Buat objek Object = Example.new ()
object.show

Di sini, var1 dan var2 adalah konstanta. Ini menghasilkan hasil sebagai berikut:

Nilai konstan pertama 100
Kedua konstan 200

Ruby pseudo-variabel

Mereka adalah variabel khusus, dengan munculnya variabel lokal, tapi bertindak seperti konstan. Anda tidak dapat menetapkan nilai apapun untuk variabel tersebut.

  • diri: objek penerima metode saat ini.
  • benar: wakil dari nilai sebenarnya.
  • salah: Nilai mewakili palsu.
  • nil: nilai terdefinisi Perwakilan.
  • __FILE__: Nama saat file sumber.
  • __LINE__: File sumber nomor baris sekarang.