×

Định nghĩa phương thức với từ khóa def trong Ruby

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ố ab, 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_tichin_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