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 是一種區分大小寫的程式語言。因此,Manpowermanpower 在 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 直譯器執行。

廣告
© . All rights reserved.