Euphoria基本語法
Euphoria語言和 Perl,C 和 Java 有許多相似之處。但是,也有一些明確的語言之間的差異。本章的目的是迅速讓你了解 Euphoria 的語法。.
本教學假定您正在使用Linux平台,所有的例子已經寫。但我冇有觀察到任何 Linux 和 WIN32程序語法上的差異,所以在Win32中,你可以按照相同的步驟。
第一個Euphoria 程序:
讓我們寫一個簡單的 Euphoria 腳本程序。因此,把下麵的源代碼一個test.ex文件,並保存它。
#!/home/euphoria-4.0b2/bin/eui puts(1, "Hello, Euphoria!\n") |
假設,Euphoria 的解釋器是 /home/euphoria-4.0b2/bin/ 目錄中可用。現在嘗試運行此程序如下:
$ chmod +x test.ex # This is to make file executable $ ./test.ex |
這將產生以下結果:
Hello, Euphoria! |
該腳本使用了Euphoria 一個內置函數puts(),它接受兩個參數。第一個參數表示文件名或設備號碼,第二個參數表示要打印的字符串。在這裡,1表示標準輸出設備。
Euphoria 標識符:
Euphoria 標識符是用來識彆一個變量,函數,類,模塊,或其它物體的名稱。標識符以字母A到Z或a到z,然後遵循字母,數字或下劃線開始。
Euphoria 不允許標點符號,如 @, $, and % 以內標識符.
Euphoria 是區分大小寫的編程語言。因此Manpower 和manpower 是兩個不同的標識符。有效標識符的例子:
- n
- color26
- ShellSort
- quick_sort
- a_very_long_indentifier
保留字:
下麵的列表顯示Euphoria 中的保留字。這些保留字不能用作常數或變數,或任何其他標識符名稱。
關鍵詞隻包含小寫字母。
and | exit | override |
as | export | procedure |
break | fallthru | public |
by | for | retry |
case | function | return |
constant | global | routine |
continue | goto | switch |
do | if | then |
else | ifdef | to |
elsedef | include | type |
elsif | label | until |
elsifdef | loop | while |
end | namespace | with |
entry | not | without |
enum | or | xor |
表達式:
Euphoria 可以讓你形成表達式的計算結果。然而,在Euphoria 可以對整個數據序列進行計算一個表達式。
可以處理一個就像將一個單一的數字序列。傳遞給一個子程序,它可以被複製或計算時作為一個單元。例如:
{1,2,3} + 5 |
是一種表達,增加了序列{1,2,3}和原子5得到結果序列{6,7,8}。在隨後的章節中會學到序列。
代碼塊:
第一告誡程序員之一時遇到學習 Euphoria 是冇有括號來表示代碼塊的過程和函數定義或流量控製。代碼塊是由相關的關鍵字表示。
下麵的例子是 if...then...end if 塊:
if condition then code block comes here end if |
多行語句:
Euphoria 報表通常一個新行結束。但是Euphoria 允許在多行寫一個單獨的語句。例如:
total = item_one + item_two + item_three |
轉義字符:
使用反斜杠轉義字符輸入。例如:
下表是轉義或反斜線符號可以表示非打印字符列表。
反斜線符號 | 描述 |
---|---|
\n | Newline |
\r | Carriage return |
\t | Tab |
\\ | Backslash |
\" | Double quote |
\' | Single quote |
Euphoria注釋:
被編譯器忽略任何注釋和執行速度冇有影響。明智的做法是在你的程序中使用更多的注釋,使其更具可讀性。
注釋文本有三種形式:
-
Euphoria 注釋是由兩個破折號開始,延伸到當前行的末尾。
-
多行格式注釋內保持 /* ...*/,即使發生在另一行內。
-
在第一行程序可以使用一種特殊的注釋開頭的兩個字符的序列 #!.
示例:
#!/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 */ |
這將產生以下結果:
Hello, Euphoria! |
注: 在第一行頭(隻有)程序可以使用一種特殊的注釋開始用#! ,此通知文件在Linux shell 使用Euphoria 解釋器執行。