Định nghĩa phương thức đơn giản

Một phần của tài liệu Tìm hiểu ngôn ngữ lập trình Ruby (Trang 25 - 26)

Chương IV : Phương thức, Proc, Lambda, và Closure

1.Định nghĩa phương thức đơn giản

Các phương thức được định nghĩa bằng từ khoá def. Tiếp theo là tên phương thức và danh sách tên các tham số có thể có nằm trong dấu ngoặc. Đoạn code Ruby tạo nên thân phương thức ở sau danh sách tham số, và cuối phương thức là từ khố end. Tên của các tham số có thể được sử dụng như là các biến trong thân phương thức, và giá trị của các tham số này sẽ được truyền trong lời gọi phương thức. Đây là một ví dụ về một phương thức:

# Định nghĩa một phương thức tên ‘factorial’ với một tham số duy nhất ‘n’

def factorial(n)

if n < 1 # Kiểm tra tính hợp lệ của tham số

raise "argument must be > 0"

elsif n == 1 # Nếu tham số bằng 1

1 # thì giá trị của lời gọi phương thức bằng 1

else # Ngược lại, giai thừa của n bằng n nhân với

n * factorial(n-1) # giai thừa của n-1

end end

1.1. Giá trị trả về của phương thức

Phương thức có thể kết thúc bình thường hoặc bất bình thường. Sự kết thúc khơng bình thường xảy ra khi phương thức tạo ra một exception. Phương thức factorial ở trên kết thúc khơng bình thường khi ta truyền tham số nhỏ hơn 1. Nếu phương thức kết thúc bình thường, thì giá trị của biểu thức lời gọi phương thức là giá trị của biểu thức cuối cùng được thực hiện trong thân phương thức. Trong phương thức factorial, biểu thức cuối cùng là 1 hoặc là n*factorial(n-1).

Từ khoá return được sử dụng để bắt buộc sự trả về trước khi kết thúc một phương thức. Một biểu thức đằng sau từ khố return, thì giá trị của của biểu thức đó được trả về. Nếu khơng có biểu thức nào, thì giá trị trả về là nil.

1.2. Phương thức và xử lý lỗi

Một lệnh def định nghĩa một phương thức có thể chứa đoạn code xử lý lỗi dưới dạng một cụm rescue, else và ensure, như một lệnh begin. Các cụm xử lý lỗi này nằm ở sau kết thúc của thân phương thức nhưng trước kết thúc của lệnh def. Điều này có nghĩa là ta khơng phải sử dụng lệnh begin và các cấp lùi đầu dòng theo sau.

1.3. Gọi một phương thức của một đối tượng

Các phương thức luôn được gọi bởi một đối tượng. (Đối tượng này thường đựơc gọi là một đối tượng nhận theo mơ hình hướng đối tượng khi các phương thức được gọi là “thông điệp” và được “gửi tới” các đối tượng nhận.). Bên trong thân của một đối tượng, từ khố self ám chỉ đối tượng gọi phương thức đó. Nếu ta không xác định rõ một đối tượng khi gọi phương thức, thì phương thức đơn giản là được gọi từ self.

Một phần của tài liệu Tìm hiểu ngôn ngữ lập trình Ruby (Trang 25 - 26)