位置:首頁 > 高級語言 > Euphoria教學 > Euphoria基本語法

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注釋:

被編譯器忽略任何注釋和執行速度冇有影響。明智的做法是在你的程序中使用更多的注釋,使其更具可讀性。

注釋文本有三種形式:

  1. Euphoria 注釋是由兩個破折號開始,延伸到當前行的末尾。

  2. 多行格式注釋內保持 /* ...*/,即使發生在另一行內。

  3. 在第一行程序可以使用一種特殊的注釋開頭的兩個字符的序列 #!.

示例:

#!/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 解釋器執行。