- Euphoria 教程
- Euphoria - 首頁
- Euphoria - 概述
- Euphoria - 環境
- Euphoria - 基本語法
- Euphoria - 變數
- Euphoria - 常量
- Euphoria - 資料型別
- Euphoria - 運算子
- Euphoria - 分支
- Euphoria - 迴圈型別
- Euphoria - 流程控制
- Euphoria - 短路
- Euphoria - 序列
- Euphoria - 日期與時間
- Euphoria - 過程
- Euphoria - 函式
- Euphoria - 檔案 I/O
- Euphoria 有用資源
- Euphoria - 快速指南
- Euphoria - 庫例程
- Euphoria - 有用資源
- Euphoria - 討論
Euphoria - 基本語法
Euphoria 語言與 Perl、C 和 Java 有很多相似之處。但是,這些語言之間也存在一些明顯的區別。本章旨在幫助您快速瞭解 Euphoria 中預期的語法。
本教程假設您使用的是 Linux,所有示例都在 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!
此指令碼使用了內建函式 puts(),它接受兩個引數。第一個引數指示檔名或裝置號,第二個引數指示您要列印的字串。這裡 1 指示 STDOUT 裝置。
Euphoria 識別符號
Euphoria 識別符號是用於標識變數、函式、類、模組或其他物件的名稱。識別符號以字母 A 到 Z 或 a 到 z 開頭,然後後跟字母、數字或下劃線。
Euphoria 不允許在識別符號中使用諸如 @、$ 和 % 之類的標點符號。
Euphoria 是一種區分大小寫的程式語言。因此,Manpower 和 manpower 在 Euphoria 中是兩個不同的識別符號。例如,有效的識別符號為:
- n
- color26
- ShellSort
- quick_sort
- a_very_long_indentifier
保留字
以下列表顯示了 Euphoria 中的保留字。這些保留字不能用作常量或變數或任何其他識別符號名稱。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 | 換行符 |
| \r | 回車符 |
| \t | 製表符 |
| \\ | 反斜槓 |
| \" | 雙引號 |
| \' | 單引號 |
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 直譯器執行。