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