- 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 - 序列
序列由花括號 { } 中用逗號分隔的物件列表表示。序列可以包含原子和其他序列。例如 -
{2, 3, 5, 7, 11, 13, 17, 19}
{1, 2, {3, 3, 3}, 4, {5, {6}}}
{{"Zara", "Ayan"}, 52389, 97.25}
{} -- the 0-element sequence
可以透過在方括號中給出元素編號來選擇序列的單個元素。元素編號從 1 開始。
例如,如果 x 包含 {5, 7.2, 9, 0.5, 13},則 x[2] 為 7.2。
假設 x[2] 包含 {11,22,33},現在如果您請求 x[2],您將得到 {11,22,33},如果您請求 x[2][3],您將得到原子 33。
示例
#!/home/euphoria-4.0b2/bin/eui
sequence x
x = {1, 2, 3, 4}
for a = 1 to length(x) do
printf(1, "value of x[%d] = %d\n", {a, x[a]})
end for
這裡,length() 是返回序列長度的內建函式。以上示例產生以下結果 -
value of x[1] = 1 value of x[2] = 2 value of x[3] = 3 value of x[4] = 4
字元字串
字元字串只是一個字元序列。它可以透過以下兩種方式之一輸入 -
(a) 使用雙引號 -
"ABCDEFG"
(b) 使用原始字串表示法 -
-- Using back-quotes `ABCDEFG` or -- Using three double-quotes """ABCDEFG"""
您可以嘗試以下示例來理解這個概念 -
#!/home/euphoria-4.0b2/bin/eui
sequence x
x = "ABCD"
for a = 1 to length(x) do
printf(1, "value of x[%d] = %s\n", {a, x[a]})
end for
這將產生以下結果 -
value of x[1] = A value of x[2] = B value of x[3] = C value of x[4] = D
字串陣列
字串陣列可以使用序列如下實現 -
#!/home/euphoria-4.0b2/bin/eui
sequence x = {"Hello", "World", "Euphoria", "", "Last One"}
for a = 1 to length(x) do
printf(1, "value of x[%d] = %s\n", {a, x[a]})
end for
這將產生以下結果 -
value of x[1] = Hello value of x[2] = World value of x[3] = Euphoria value of x[4] = value of x[5] = Last One
Euphoria 結構
結構可以使用序列如下實現 -
#!/home/euphoria-4.0b2/bin/eui
sequence employee = {
{"John","Smith"},
45000,
27,
185.5
}
printf(1, "First Name = %s, Last Name = %s\n", {employee[1][1],employee[1][2]} )
這將產生以下結果 -
First Name = John, Last Name = Smith
可以直接對序列執行各種操作。讓我們詳細瞭解一下它們 -
一元運算
當應用於序列時,一元運算子實際上應用於序列中的每個元素,以產生相同長度的結果序列。
#!/home/euphoria-4.0b2/bin/eui
sequence x
x = -{1, 2, 3, 4}
for a = 1 to length(x) do
printf(1, "value of x[%d] = %d\n", {a, x[a]})
end for
這將產生以下結果 -
value of x[1] = -1 value of x[2] = -2 value of x[3] = -3 value of x[4] = -4
算術運算
幾乎所有算術運算都可以如下對序列執行 -
#!/home/euphoria-4.0b2/bin/eui
sequence x, y, a, b, c
x = {1, 2, 3}
y = {10, 20, 30}
a = x + y
puts(1, "Value of a = {")
for i = 1 to length(a) do
printf(1, "%d,", a[i])
end for
puts(1, "}\n")
b = x - y
puts(1, "Value of b = {")
for i = 1 to length(a) do
printf(1, "%d,", b[i])
end for
puts(1, "}\n")
c = x * 3
puts(1, "Value of c = {")
for i = 1 to length(c) do
printf(1, "%d,", c[i])
end for
puts(1, "}\n")
這將產生以下結果 -
Value of a = {11,22,33,}
Value of b = {-9,-18,-27,}
Value of c = {3,6,9,}
命令列選項
使用者可以將命令列選項傳遞給 Euphoria 指令碼,並且可以使用command_line() 函式作為序列訪問它,如下所示 -
#!/home/euphoria-4.0b2/bin/eui
sequence x
x = command_line()
printf(1, "Interpeter Name: %s\n", {x[1]} )
printf(1, "Script Name: %s\n", {x[2]} )
printf(1, "First Argument: %s\n", {x[3]})
printf(1, "Second Argument: %s\n", {x[4]})
這裡printf() 是 Euphoria 的內建函式。現在,如果您如下執行此指令碼 -
$eui test.ex "one" "two"
這將產生以下結果 -
Interpeter Name: /home/euphoria-4.0b2/bin/eui Script Name: test.ex First Argument: one Second Argument: two
廣告