lua的 和 的區別 語法糖

2021-08-26 17:42:34 字數 1078 閱讀 1128

account =     -- 賬戶餘額初始為1000。

----【定義函式】

--[[ 取錢。

使用物件導向的方式隱藏了"self"引數,

"withdraw()"完整的引數列表是"account.withdraw(self, v)"。]]

function account:withdraw(v)

self.balance = self.balance - v

end----【呼叫函式】

--[[ 使用物件導向的方式隱藏了"self"引數,

實際傳遞給"withdraw()"的引數是"account"和"100.00"。]]

account:withdraw(100.00)

print(account.balance) --> 900.0

account = -- 賬戶餘額初始為1000。

function account.withdraw(self, v) -- 使用"."定義函式。

self.balance = self.balance - v

endaccount:withdraw(100.00) -- 使用":"呼叫函式。

print(account.balance) -- 900.0

-- 存錢。

function account:deposit(v) -- 使用":"定義函式。

self.balance = self.balance + v

endaccount.deposit(account, 600.00) -- 使用"."呼叫函式。

print(account.balance) -- 1500.0

總結

用冒號(:)呼叫函式時,會預設傳乙個值(呼叫者自身self)作為第乙個引數;

用點(.)呼叫函式時,則沒有

用冒號(:)建立函式時,會預設新增乙個引數self,作為第乙個引數;

用點(.)呼叫函式時,則沒有

. 和 :函式可以相互呼叫,但需要正確的傳遞self值。

]]--

Python 的 with 語法糖

python 內建了 sqlite3 模組,可以方便地呼叫 sqlite 資料庫。import sqlite3 conn sqlite3.connect test.db cur conn.cursor cur.execute create table students id bigint prima...

語法糖的理解

語法糖 syntactic sugar 也譯為糖衣語法,是由英國計算機科學家彼得 約翰 蘭達 peter j.landin 發明的乙個術語,指計算機語言中新增的某種語法,這種語法對語言的功能並沒有影響,但是更方便程式設計師使用。通常來說使用語法糖能夠增加程式的可讀性,從而減少程式 出錯的機會。程式設...

Lua與C的語法區別

lua是指令碼語言,沒有固定入口的main函式。當lua解析器解析某個lua 檔案時,lua解析器一樣一行的解析lua指令碼。print hello lua 將以上 儲存在a.lua,然後執行lua a.lua,將看到輸出 c c 整數相除時,得到的依舊是整數,而lua則不是 std cout 3 ...