Variable Trong Ruby - NguyenAnh Blog
Có thể bạn quan tâm
Biến là gì.
Một khái niệm cơ bản trong ngôn ngữ lập trình đó là Biến. Bạn có thể nghĩ biến như là một từ hoặc một tên mà nó có thể lưu giữ một giá trị.
Các loại biến trong Ruby.
Theo như mình được biết thì trong Ruby có tổng cộng 5 loại biến.
- Biến cục bộ (local variable)
- Biến toàn cục (global variable)
- Biến đối tượng (instance variable)
- Biến lớp (class variable)
- Hằng (constant)
Biến cục bộ (local variable)
Phạm vi sử dụng của biến cục bộ phụ thuộc vào vị trí của biến khi khai báo.
#irb local_variable = 'Toi nam ngoai method.' def variable_scope puts local_variable = 'Toi nam trong method.' end variable_scope #Toi nam trong method puts local_variable #Toi nam ngoai methodNhư vậy ta thấy, mặc dù có cùng tên nhưng giá trị in ra là khác nhau, vì biến localvariable ở trong phương thức variablescope không có liên quan gì với biến local_variable ở ngoài phương thức. Mặc dù chúng có cùng tên biến.
Biến toàn cục (global variable)
Khác với biến cục bộ, biến toàn cục được khai báo với tên bắt đầu bằng ký tự $ và biến toàn cục có phạm vi sử dụng trong toàn bộ chương trình.
$global_variable = 'Toi chua duoc thay doi.' def variable_scope puts $global_variable = 'Toi da bi thay doi.' end variable_scope #Toi da bi thay doi. $global_variable #Toi da bi thay doi.Ta thấy, khi giá trị của biến toàn cục thay đổi ở trong phương thức, thì sự thay đổi này ảnh hưởng ra tới bên ngoài phương thức. Như vậy, phạm vi của biến toàn cục là toàn bộ chương trình.
Biến đối tượng (instance variable)
Biến được bắt đầu bằng ký tự @ được gọi là "Biến Đối Tượng", có nghĩa là nó chỉ thuộc về một đối tượng riêng lẻ hoặc một đối tượng của một lớp.
class Nguoi def initialize(ten) @ten = ten end def show puts @ten end end first = Nguoi.new('Nguyen') first.show # Nguyen second = Nguoi.new('Anh') second.show # AnhỞ ví dụ trên ta thấy instance variable chỉ thuộc riêng lẻ cho mỗi đối tượng và phạm vi sử dụng của nó là toàn bộ trong một lớp.
Biến lớp (class variable)
Để định nghĩa biến thuộc class, chúng ta sử dụng ký tự @@ trước tên biến. Khác với instance variable, class variable sẽ được dùng chung cho tất cả các đối tượng của lớp đó.
class Dog def initialize(leg) @@leg = leg end def show_leg puts @@leg end end first = Dog.new(4) first.show_leg # 4 second = Dog.new(10) second.show_leg # 10 first.show_leg # 10Như ví dụ trên ta thấy biến @@leg đã bị thay đổi sau khi đối tượng second được tạo.
Hằng (constant)
Một Hằng trong Ruby cũng giống như một biến, ngoại trừ một điều là giá trị của hằng không đổi trong quá trình chương trình chạy. Trình thông dịch của Ruby không bắt buộc về sự cố định giá trị của Hằng, nhưng nếu có sự thay đổi giá trị của Hằng thì trình thông dịch sẽ có thông báo về sự thay đổi đó.
A_CONST = 10 A_CONST = 20 "warning: already initialized constant A_CONST"Từ khóa » Trong Ruby
-
Variables & Scope Trong Ruby - Viblo
-
Variable Trong Ruby - Viblo
-
Các Toán Tử Số Học Trong Ruby
-
Lớp Trong Ruby - Lập Trình Hương đối Tượng
-
Các Loại Biến Và Cách Sử Dụng Module Trong Ruby - Freetuts
-
Tìm Hiểu Ruby Trong 25 Phút
-
Biến Trong Ruby - Trang Chủ - .vn
-
Ruby – Biến - Phở Code
-
Sử Dụng (&. ) Trong Ruby | TechHay Blog
-
Phân Biệt Biến Có Tiền Tố @ Và @@ Trong Ruby Rails - Blog
-
Khoảng Trắng Trong Ruby
-
Bắt đầu Từ Con Số Không Với Ruby? | TopDev
-
[Ruby] Objects Trong Ruby #1 - Kipalog
-
Tất Tần Tật Về Nil Trong Ruby - Đơn Giản Nhưng Bạn đã Biết Chưa