Erlang - Cú pháp cơ bản
Để hiểu cú pháp cơ bản của Erlang, trước tiên chúng ta hãy xem một Hello World chương trình.
Thí dụ
% hello world program
-module(helloworld).
-export([start/0]).
start() ->
io:fwrite("Hello, world!\n").
Những điều sau đây cần được lưu ý về chương trình trên:
Dấu% được sử dụng để thêm nhận xét vào chương trình.
Câu lệnh mô-đun giống như thêm một không gian tên như trong bất kỳ ngôn ngữ lập trình nào. Vì vậy, ở đây, chúng tôi đang đề cập rằng mã này sẽ là một phần của mô-đun được gọi làhelloworld.
Hàm xuất được sử dụng để có thể sử dụng bất kỳ hàm nào được định nghĩa trong chương trình. Chúng ta đang định nghĩa một hàm được gọi là bắt đầu và để sử dụng hàm bắt đầu, chúng ta phải sử dụng câu lệnh xuất. Các/0 có nghĩa là hàm 'start' của chúng ta chấp nhận 0 tham số.
Cuối cùng chúng tôi xác định chức năng bắt đầu của mình. Ở đây chúng tôi sử dụng một mô-đun khác được gọi làiocó tất cả các chức năng Đầu ra Đầu vào cần thiết trong Erlang. Chúng tôi đã sử dụngfwrite chức năng xuất “Hello World” ra bảng điều khiển.
Đầu ra của chương trình trên sẽ là:
Đầu ra
Hello, world!
Hình thức chung của một tuyên bố
Trong Erlang, bạn đã thấy rằng có những ký hiệu khác nhau được sử dụng trong ngôn ngữ Erlang. Hãy xem qua những gì chúng ta đã thấy từ một chương trình Hello World đơn giản -
Biểu tượng gạch nối (–)thường được sử dụng cùng với mô-đun, câu lệnh nhập và xuất. Biểu tượng gạch nối được sử dụng để cung cấp ý nghĩa cho mỗi câu lệnh tương ứng. Vì vậy, các ví dụ từ chương trình Hello world được trình bày trong chương trình sau:
-module(helloworld).
-export([start/0]).
Mỗi câu lệnh được phân tách bằng dấu chấm (.)Biểu tượng. Mỗi câu lệnh trong Erlang cần kết thúc bằng dấu phân cách này. Một ví dụ từ chương trình Hello world như trong chương trình sau:
io:fwrite("Hello, world!\n").
Dấu gạch chéo (/) biểu tượng được sử dụng cùng với hàm để xác định số lượng các tham số được hàm chấp nhận.
-export([start/0]).
Mô-đun
Trong Erlang, tất cả mã được chia thành các mô-đun. Một mô-đun bao gồm một chuỗi các thuộc tính và khai báo chức năng. Nó cũng giống như một khái niệm về một vùng tên trong các ngôn ngữ lập trình khác được sử dụng để phân tách các đơn vị mã khác nhau một cách hợp lý.
Xác định một mô-đun
Một mô-đun được xác định với mã định danh mô-đun. Cú pháp chung và ví dụ như sau.
Cú pháp
-module(ModuleName)
Các ModuleName cần giống với tên tệp trừ phần mở rộng .erl. Nếu không việc tải mã sẽ không hoạt động như dự định.
Thí dụ
-module(helloworld)
Các Mô-đun này sẽ được đề cập chi tiết trong các chương tiếp theo, điều này chỉ giúp bạn hiểu cơ bản về cách một mô-đun nên được định nghĩa.
Báo cáo nhập khẩu trong Erlang
Trong Erlang, nếu muốn sử dụng chức năng của mô-đun Erlang hiện có, người ta có thể sử dụng câu lệnh nhập. Dạng chung của câu lệnh nhập được mô tả trong chương trình sau:
Thí dụ
-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.
Hãy thay đổi cách chúng ta viết chương trình hello world để sử dụng câu lệnh nhập. Ví dụ sẽ được hiển thị trong chương trình sau.
Thí dụ
% hello world program
-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à fwritechức năng. 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 cần phải đề cập đếnio tên mô-đun ở khắp mọi nơi.
Từ khóa trong Erlang
Từ khoá là một từ dành riêng trong Erlang không được sử dụng cho bất kỳ mục đích nào khác ngoài mục đích mà nó đã được dự định. Sau đây là danh sách các từ khóa trong Erlang.
sau | và | andalso | ban nhạc |
bắt đầu | bnot | bor | bsl |
bsr | bxor | trường hợp | nắm lấy |
chung cư | div | kết thúc | vui vẻ |
nếu | để cho | không phải | của |
hoặc là | hoặc cái gì đó khác | nhận được | rem |
thử | khi nào | xor |
Nhận xét trong Erlang
Nhận xét được sử dụng để ghi lại mã của bạn. Nhận xét dòng đơn được xác định bằng cách sử dụng%ký hiệu tại bất kỳ vị trí nào trong dòng. Sau đây là một ví dụ cho tương tự -
Thí dụ
% hello world program
-module(helloworld).
% import function used to import the io module
-import(io,[fwrite/1]).
% export function used to ensure the start function can be accessed.
-export([start/0]).
start() ->
fwrite("Hello, world!\n").