Erlang - Mô-đun

Mô-đun là một loạt các chức năng được tập hợp lại trong một tệp duy nhất, dưới một tên duy nhất. Ngoài ra, tất cả các chức năng trong Erlang phải được định nghĩa trong các mô-đun.

Hầu hết các chức năng cơ bản như toán tử số học, logic và Boolean đều đã có sẵn vì các mô-đun mặc định được tải khi chương trình được chạy. Mọi chức năng khác được xác định trong một mô-đun bạn sẽ sử dụng cần được gọi với biểu mẫuModule:Function (Tranh luận).

Xác định Mô-đun

Với một mô-đun, bạn có thể khai báo hai loại thứ: chức năng và thuộc tính. Các thuộc tính là siêu dữ liệu mô tả chính mô-đun như tên của nó, các chức năng sẽ hiển thị với thế giới bên ngoài, tác giả của mã, v.v. Loại siêu dữ liệu này rất hữu ích vì nó cung cấp gợi ý cho trình biên dịch về cách nó sẽ thực hiện công việc của mình và cũng vì nó cho phép mọi người truy xuất thông tin hữu ích từ mã đã biên dịch mà không cần phải tham khảo nguồn.

Cú pháp của một khai báo hàm như sau:

Cú pháp

-module(modulename)

Ở đâu, modulenamelà tên của mô-đun. Đây phải là dòng đầu tiên của mã trong mô-đun.

Chương trình sau đây cho thấy một ví dụ về mô-đun được gọi là helloworld.

Thí dụ

-module(helloworld). 
-export([start/0]). 

start() -> 
   io:fwrite("Hello World").

Kết quả của chương trình trên là:

Đầu ra

Hello World

Thuộc tính mô-đun

Thuộc tính mô-đun xác định một thuộc tính nhất định của mô-đun. Thuộc tính mô-đun bao gồm một thẻ và một giá trị.

Cú pháp chung của một thuộc tính là -

Cú pháp

-Tag(Value)

Ví dụ về cách thuộc tính có thể được sử dụng trong chương trình sau:

Thí dụ

-module(helloworld). 
-author("TutorialPoint"). 
-version("1.0"). 
-export([start/0]). 

start() -> 
   io:fwrite("Hello World").

Chương trình trên định nghĩa 2 thuộc tính tùy chỉnh được gọi là tác giả và phiên bản, chứa tác giả chương trình và số phiên bản chương trình tương ứng.

Kết quả của chương trình trên là:

Đầu ra

Hello World

Các thuộc tính được tạo sẵn

Erlang có một số thuộc tính được tạo sẵn có thể được gắn vào các mô-đun. Chúng ta hãy nhìn vào chúng.

Xuất khẩu

Thuộc tính Export sẽ lấy một danh sách các chức năng và độ hiếm để xuất cho các mô-đun khác tiêu thụ. Nó sẽ xác định giao diện mô-đun. Chúng tôi đã thấy điều này trong tất cả các ví dụ trước đây của chúng tôi.

Cú pháp

export([FunctionName1/FunctionArity1,.,FunctionNameN/FunctionArityN])

Ở đâu,

  • FunctionName - Đây là tên của hàm trong chương trình.

  • FunctionArity - Đây là số tham số liên kết với hàm.

Thí dụ

-module(helloworld). 
-author("TutorialPoint"). 
-version("1.0"). 
-export([start/0]). 

start() -> 
   io:fwrite("Hello World").

Đầu ra của chương trình trên sẽ là:

Đầu ra

Hello World

Nhập khẩu

Thuộc tính nhập được sử dụng để nhập các chức năng từ một mô-đun khác để sử dụng nó làm cục bộ.

Cú pháp

-import (modulename , [functionname/parameter]).

Ở đâu,

  • Modulename - Đây là tên của mô-đun cần được nhập.

  • functionname/parameter - chức năng trong mô-đun cần được nhập.

Thí dụ

-module(helloworld). 
-import(io,[fwrite/1]). 
-export([start/0]). 

start() -> 
   fwrite("Hello, world!\n").

Trong đoạn mã trên, chúng tôi đang sử dụng từ khóa nhập để nhập thư viện 'io' và cụ thể là hàm fwrite. Vì vậy, bây giờ bất cứ khi nào chúng ta gọi hàm fwrite, chúng ta không phải đề cập đến tên mô-đun io ở khắp mọi nơi.

Đầu ra của chương trình trên sẽ là:

Đầu ra

Hello, world!