Trong ngôn ngữ lập trình Ruby, việc sử dụng từ khóa def
để định nghĩa một phương thức là một kỹ thuật căn bản và được thực hiện một cách dễ dàng. Từ khóa này giúp bạn tạo ra các phương thức có thể tái sử dụng trong suốt chương trình, giúp lập trình viên tổ chức mã nguồn một cách khoa học và gọn gàng hơn.
Cấu Trúc Cơ Bản
Để bắt đầu định nghĩa một phương thức, bạn sử dụng từ khóa def
, theo sau là tên phương thức và một cặp dấu ngoặc đơn chứa các tham số (nếu có). Phần thân của phương thức là nơi bạn nhập mã lệnh sẽ được thực hiện khi phương thức được gọi. Cuối cùng, việc sử dụng từ khóa end
để kết thúc định nghĩa phương thức.
def ten_phuong_thuc(tham_so_1, tham_so_2)
# Mã lệnh thực thi
end
Ví Dụ Cụ Thể
Dưới đây là một ví dụ về cách định nghĩa một phương thức tính tổng hai số:
def tinh_tong(a, b)
a + b
end
Phương thức tinh_tong
nhận hai tham số a
và b
, và trả về tổng của chúng. Bạn có thể gọi phương thức này ở bất kỳ đâu trong chương trình của mình:
ket_qua = tinh_tong(5, 3)
puts ket_qua # In ra kết quả là 8
Phương Thức Không Có Tham Số
Không phải phương thức nào cũng cần tham số. Bạn có thể định nghĩa các phương thức không có tham số như sau:
def in_loi_chao
puts "Xin chào!"
end
in_loi_chao # In ra "Xin chào!"
Trả Về Giá Trị
Trong Ruby, phương thức mặc định trả về giá trị của dòng mã lệnh cuối cùng trong phương thức, bạn không cần sử dụng từ khóa return
trừ khi bạn muốn trả về giá trị sớm hơn.
def nhan_doi(so)
ket_qua = so * 2
ket_qua # Giá trị này sẽ được trả về bởi phương thức
end
puts nhan_doi(4) # In ra 8
Sử Dụng self
Đối với các phương thức được định nghĩa bên trong lớp, từ khóa self
thường được sử dụng để tham chiếu đến đối tượng hiện tại:
class HinhChuNhat
def initialize(chieu_dai, chieu_rong)
@chieu_dai = chieu_dai
@chieu_rong = chieu_rong
end
def dien_tich
@chieu_dai * @chieu_rong
end
def in_thong_tin
puts "Chiều dài: #{@chieu_dai}, Chiều rộng: #{@chieu_rong}, Diện tích: #{dien_tich}"
end
def self.mo_ta
"Đây là lớp HinhChuNhat dùng để tính diện tích và chiều dài, rộng."
end
end
hinh = HinhChuNhat.new(10, 5)
hinh.in_thong_tin
puts HinhChuNhat.mo_ta
Trong ví dụ trên, lớp HinhChuNhat
có các phương thức dien_tich
và in_thong_tin
là các phương thức đối tượng, trong khi self.mo_ta
là một phương thức lớp.
Kết Luận
Sử dụng từ khóa def
là một phần không thể thiếu khi lập trình bằng Ruby, giúp chia nhỏ và tổ chức mã nguồn một cách hợp lý. Hiểu rõ cách định nghĩa và sử dụng phương thức sẽ giúp bạn viết mã nguồn Ruby hiệu quả và dễ bảo trì hơn.
Comments