Euphoria - Cú pháp cơ bản
Ngôn ngữ Euphoria có nhiều điểm tương đồng với Perl, C và Java. Tuy nhiên, có một số khác biệt nhất định giữa các ngôn ngữ. Chương này được thiết kế để giúp bạn nhanh chóng nắm bắt được cú pháp được mong đợi trong Euphoria.
Hướng dẫn này giả định rằng bạn đang làm việc với Linux và tất cả các ví dụ đã được viết trên nền tảng Linux. Nhưng quan sát thấy rằng không có bất kỳ sự khác biệt nổi bật nào về cú pháp chương trình trên Linux và WIN32. Do đó, bạn có thể làm theo các bước tương tự trên WIN32.
Chương trình Euphoria đầu tiên
Hãy để chúng tôi viết một chương trình Euphoria đơn giản trong một tập lệnh. Nhập mã nguồn sau vào tệp test.ex và lưu nó.
#!/home/euphoria-4.0b2/bin/eui
puts(1, "Hello, Euphoria!\n")
Giả sử, thông dịch viên Euphoria có sẵn trong thư mục /home/euphoria-4.0b2/bin/ . Bây giờ chạy chương trình này như sau:
$ chmod +x test.ex # This is to make file executable
$ ./test.ex
Điều này tạo ra kết quả sau:
Hello, Euphoria!
Tập lệnh này đã sử dụng một hàm tích hợp puts()trong đó có hai đối số. Đối số đầu tiên cho biết tên tệp hoặc số thiết bị và đối số thứ hai cho biết một chuỗi mà bạn muốn in. Ở đây 1 chỉ ra thiết bị STDOUT.
Số nhận dạng Euphoria
Mã định danh Euphoria là tên được sử dụng để xác định một biến, hàm, lớp, mô-đun hoặc đối tượng khác. Mã định danh bắt đầu bằng chữ cái A đến Z hoặc a đến z và sau đó là các chữ cái, chữ số hoặc dấu gạch dưới.
Euphoria không cho phép các ký tự dấu câu như @, $ và% trong số nhận dạng.
Euphoria là một ngôn ngữ lập trình phân biệt chữ hoa chữ thường. Như vậyManpower và manpowerlà hai định danh khác nhau trong Euphoria. Ví dụ: các số nhận dạng hợp lệ là -
- n
- color26
- ShellSort
- quick_sort
- a_very_long_indentifier
Từ dành riêng
Danh sách sau đây hiển thị các từ dành riêng trong Euphoria. Những từ dành riêng này không được dùng làm hằng số hoặc biến hoặc bất kỳ tên định danh nào khác. Từ khóa hưng phấn chỉ chứa các chữ cái thường.
và | lối ra | ghi đè |
như | xuất khẩu | thủ tục |
phá vỡ | Fallthru | công cộng |
bởi | cho | thử lại |
trường hợp | chức năng | trở về |
không thay đổi | toàn cầu | công viêc hằng ngày |
tiếp tục | đi đến | công tắc điện |
làm | nếu | sau đó |
khác | ifdef | đến |
elsedef | bao gồm | kiểu |
elsif | nhãn | cho đến khi |
elsifdef | vòng | trong khi |
kết thúc | không gian tên | với |
nhập cảnh | không phải | không có |
enum | hoặc là | xor |
Biểu thức
Euphoria cho phép bạn tính toán kết quả bằng cách tạo biểu thức. Tuy nhiên, trong Euphoria, bạn có thể thực hiện các phép tính trên toàn bộ chuỗi dữ liệu với một biểu thức.
Bạn có thể xử lý một chuỗi giống như xử lý một số đơn lẻ. Nó có thể được sao chép, chuyển tới một chương trình con hoặc được tính toán như một đơn vị. Ví dụ -
{1,2,3} + 5
Đây là biểu thức cộng dãy {1, 2, 3} và nguyên tử 5 để có được dãy {6, 7, 8}. Bạn sẽ tìm hiểu các trình tự trong các chương tiếp theo.
Các khối mã
Một trong những cảnh báo đầu tiên mà các lập trình viên gặp phải khi học Euphoria là thực tế là không có dấu ngoặc nhọn để chỉ ra các khối mã cho các định nghĩa thủ tục và hàm hoặc điều khiển luồng. Các khối mã được biểu thị bằng các từ khóa liên quan.
Ví dụ sau cho thấy if...then...end if khối -
if condition then
code block comes here
end if
Câu lệnh nhiều dòng
Các câu lệnh trong Euphoria thường kết thúc bằng một dòng mới. Tuy nhiên, Euphoria cho phép viết một câu lệnh trong nhiều dòng. Ví dụ -
total = item_one +
item_two +
item_three
Nhân vật thoát
Các ký tự thoát có thể được nhập bằng dấu gạch chéo ngược. Ví dụ -
Bảng sau đây là danh sách các ký tự thoát hoặc không in được có thể được biểu thị bằng ký hiệu dấu gạch chéo ngược.
Ký hiệu gạch chéo ngược | Sự miêu tả |
---|---|
\ n | Dòng mới |
\ r | Vận chuyển trở lại |
\ t | Chuyển hướng |
\\ | Gạch chéo ngược |
\ " | Dấu ngoặc kép |
\ ' | Trích dẫn duy nhất |
Nhận xét trong Euphoria
Mọi nhận xét đều bị trình biên dịch bỏ qua và không ảnh hưởng đến tốc độ thực thi. Bạn nên sử dụng thêm các bình luận trong chương trình của bạn để làm cho nó dễ đọc hơn.
Có ba dạng văn bản bình luận -
Nhận xét bắt đầu bằng hai dấu gạch ngang và kéo dài đến cuối dòng hiện tại.
Nhận xét định dạng nhiều dòng được giữ bên trong /*...*/, ngay cả khi điều đó xảy ra trên một dòng khác.
Bạn có thể sử dụng một nhận xét đặc biệt bắt đầu bằng hai chuỗi ký tự “#!” chỉ trên dòng đầu tiên của chương trình.
Ví dụ
#!/home/euphoria-4.0b2/bin/eui
-- First comment
puts(1, "Hello, Euphoria!\n") -- second comment
/* This is a comment which extends over a number
of text lines and has no impact on the program
*/
Điều này tạo ra kết quả sau:
Hello, Euphoria!
Note- Bạn có thể sử dụng một nhận xét đặc biệt bắt đầu bằng “#!”. Điều này thông báo cho trình bao Linux rằng tệp của bạn sẽ được thực thi bởi trình thông dịch Euphoria.