2009-08-31 23 views
8

Tôi mới sử dụng Erlang. Tìm thấy việc kê khai thuộc tính sau -module trong một dự án Erlang hiện:Erlang: thuộc tính mô-đun

-module(mod_name, [Name, Path, Version]). 

có ý nghĩa gì tham số thứ hai (danh sách [Name, Path, Version]) ở đây?

Tôi chưa tìm thấy bất kỳ thông tin nào trong tham chiếu Erlang trên đó.

+2

Mô-đun tham số chưa chính thức là một phần của Erlang mặc dù các bản phân phối hiện tại hỗ trợ chúng. Ngoài ra để được an toàn, ngoại trừ mới, bạn không bao giờ nên gọi chức năng trong một mô-đun parameteised trực tiếp. Luôn sử dụng eference được trả lại từ mới. – rvirding

+0

Nếu mô-đun tham số được loại bỏ mặc dù sau đó sẽ không ngừng hoạt động mới? – Zubair

+0

Đây thực sự cần được ghi lại ở đâu đó chính thức. Hiện nay, các ứng dụng được sử dụng rộng rãi sử dụng chúng (ví dụ: Mochiweb). Ví dụ về việc sử dụng chúng trong Mochiweb, hãy xem http://code.google.com/p/mochiweb/source/browse/trunk/src/mochiweb_request.erl –

Trả lời

11

Điều này xác định mô-đun erlang được tham số hóa - một mô-đun bạn có thể "khởi tạo" với mới và sau đó truy cập các tham số được truyền bởi mới khi thực thi mã trong mô-đun của bạn.

Một cái nhìn tổng quan rất ngắn gọn là ở đây:

http://myotherpants.com/2009/04/parameterized-modules-in-erlang/

7

Đây là một mô-đun parametrized. Đây là số original paper trên đó. Về cơ bản, bạn có thể tạo các cá thể của mô-đun ràng buộc các giá trị cụ thể cho các biến đó. Bạn có thể khởi tạo một như:

> Mod = mod_name:new("MyName", "/path", '0.1'). 

và sau đó gọi chức năng của mình như:

> Mod:function(...) 

nơi các thông số mô-đun cũng có sẵn trong thân hàm.

Các vấn đề liên quan