Euphoria - Thủ tục

Thủ tục là một nhóm mã có thể sử dụng lại có thể được gọi từ bất kỳ đâu trong chương trình của bạn. Điều này giúp loại bỏ sự cần thiết phải viết đi viết lại cùng một đoạn mã. Điều này giúp lập trình viên viết mã mô-đun.

Giống như bất kỳ ngôn ngữ lập trình nâng cao nào khác, Euphoria cũng hỗ trợ tất cả các tính năng cần thiết để viết mã mô-đun bằng các thủ tục.

Bạn hẳn đã thấy các thủ tục như printf ()length () trong các chương trước. Chúng tôi đang sử dụng quy trình này nhiều lần nhưng chúng chỉ được viết trong Euphoria cốt lõi một lần.

Euphoria cũng cho phép bạn viết các thủ tục của riêng mình. Phần này giải thích cách viết thủ tục của riêng bạn trong Euphoria.

Định nghĩa thủ tục

Trước khi bạn sử dụng một thủ tục, bạn cần phải xác định nó. Cách phổ biến nhất để xác định một thủ tục trong Euphoria là sử dụngprocedure từ khóa, theo sau là tên thủ tục duy nhất, danh sách các tham số (có thể trống) và khối câu lệnh kết thúc bằng end proceduretuyên bố. Cú pháp cơ bản như hình dưới đây -

procedure procedurename(parameter-list)

   statements
   ..........

end procedure

Thí dụ

Một thủ tục đơn giản được gọi là sayHello không có tham số nào được định nghĩa ở đây -

procedure  sayHello()
   puts(1, "Hello there")
end procedure

Gọi một thủ tục

Để gọi một thủ tục ở đâu đó sau này trong script, bạn chỉ cần viết tên của thủ tục đó như sau:

#!/home/euphoria-4.0b2/bin/eui

procedure  sayHello()
   puts(1, "Hello there")
end procedure 

-- Call above defined procedure.
sayHello()

Điều này tạo ra kết quả sau:

Hello there

Tham số thủ tục

Cho đến bây giờ bạn đã thấy thủ tục không có tham số. Nhưng có một cơ sở để truyền các tham số khác nhau trong khi gọi một thủ tục. Các tham số được truyền này có thể được nắm bắt bên trong thủ tục và bất kỳ thao tác nào có thể được thực hiện trên các tham số đó.

Một thủ tục có thể nhận nhiều tham số được phân tách bằng dấu phẩy.

Thí dụ

Hãy để chúng tôi sửa đổi một chút trong thủ tục sayHello của chúng tôi . Lần này cần hai tham số -

#!/home/euphoria-4.0b2/bin/eui

procedure sayHello(sequence name,atom  age)
   printf(1, "%s is %d years old.", {name, age})
end procedure

-- Call above defined procedure.
sayHello("zara", 8)

Điều này tạo ra kết quả sau:

zara is 8 years old.