跳轉到內容

Scribunto:入門/數字

來自華夏公益教科書,開放的書籍,開放的世界

在上一章中,我們學習瞭如何使用除錯控制檯,以及如何在普通維基頁面上顯示來自模組的文字。我們編寫的用於顯示文字的模組使用了許多新概念,您可能在閱讀後感到有些困惑。但是,請不要驚慌;在本書的第二部分,我們將學習理解該模組所需的所有概念,以及更多內容。在我們涵蓋了我們編寫的模組中使用過的所有概念之前,我們將專注於使用除錯控制檯,它允許我們編寫更簡單的程式。

因此,事不宜遲,讓我們開始學習一些基本的 Lua 概念。首先,我們將介紹您可能非常熟悉的內容:數字的使用。

輸入數字

[編輯 | 編輯原始碼]

在 Lua 中輸入數字的語法非常簡單。實際上,沒有特殊的語法;您所要做的就是輸入數字。在除錯控制檯中嘗試以下示例

程式碼:

= 2

輸出:

2

除錯控制檯應該列印與您輸入的相同的數字。現在,讓我們看看如果新增一些零會發生什麼

程式碼:

= 002

輸出:

2

程式碼:

= 2.0

輸出:

2

即使我們輸入了 002 和 2.0,輸出仍然是 2。這是因為 Lua 會解釋數字的值;它不會記住您輸入的確切字元。

要插入負數,只需在前面加上連字元。

程式碼:

= -5

輸出:

-5

現在,讓我們進行一些計算。Lua 可以執行您的袖珍計算器可以執行的任何計算,以及一些它無法執行的計算。為了進行計算,Lua 使用 _算術運算子_。這僅僅是說“用於進行算術的符號”的複雜說法。例如,加法使用 `+` 運算子執行。

程式碼:

= 2 + 2

輸出:

4

類似地,減法、乘法和除法分別使用 `-`、`*` 和 `/` 運算子執行。

程式碼:

= 100 - 50

輸出:

50

程式碼:

= 5 * 4

輸出:

20

程式碼:

= 10 / 3

輸出:

3.3333333333333

`10 / 3` 的結果可能會讓一些讀者感到驚訝,因為在其他一些程式語言中,相同的程式碼會生成“3”,為了得到“3.3333333333333”的結果,您需要編寫類似 `10.0 / 3` 的內容。但是,在 Lua 中,`10 / 3` 和 `10.0 / 3` 沒有區別。

也可以使用 _取模_(或 _mod_)運算子 `%` 來找到除法後的餘數。

程式碼:

= 17 % 5

輸出:

2

此示例表示“將 17 除以 5 並輸出剩餘的部分”。17 不能被 5 整除;下一個可以被 5 整除的最高數字是 15。17 和 15 之間的差是 2,所以這就是 Lua 輸出的內容。

取模運算子有許多應用。例如,您可以使用 `% 2` 來查詢一個數字是奇數還是偶數。

程式碼:

= 123 % 2

輸出:

1

程式碼:

= 124 % 2

輸出:

0

如果使用奇數進行 `% 2`,它將得到 1 的結果;如果使用偶數進行 `% 2`,它將得到 0 的結果。

我們將在這裡介紹的最後一個運算子是 `^`,它用於進行指數(或冪)計算。例如,`2^3` 表示“2 的 3 次方”,或 `2 * 2 * 2`。

程式碼:

= 2 ^ 3

輸出:

8
華夏公益教科書