- Lua Quick Start Guide
- Gabor Szauer
- 245字
- 2021-08-05 10:30:40
Returning a value
Functions don't just take input, they can also return some output to the calling code. This is done through a return value. When a function returns a value, it can be called as part of an expression or as a standalone statement.
If a function is called as a part of an expression, its return value can be assigned to a variable, or used wherever a variable could be used. The following code demonstrates this concept:
-- declare the function
function AddTwo(x)
result = x + 2
print (x .. " + 2 = " .. result)
return result
end
AddTwo(3) -- calls as statement
nine = 7 + AddTwo(5) -- Call as expression
print ("adding two " .. AddTwo(3)) -- Call as expression
When a function hits a return statement, it returns whatever data follows and stops executing. If you have code after your return statement, that code will not execute, for example:
-- Declare the function
function SquareIt(number)
result = number * number
print ("this will print") -- WILL PRINT!
do
return result
end
print ("this will not print") -- WILL NOT PRINT
end
-- Call the function
four = SquareIt(2) -- Will print: this will print
print(four) -- Will print: 4
Why is the return value inside of a do/end block? In Lua, the return keyword is only valid when followed by the end keyword. Without the do/end block around the return statement, this code would not compile, because following a return with a print statement is not valid.
推薦閱讀
- 前端跨界開(kāi)發(fā)指南:JavaScript工具庫(kù)原理解析與實(shí)戰(zhàn)
- 深入淺出Spring Boot 2.x
- Machine Learning with R Cookbook(Second Edition)
- VMware vSphere 6.7虛擬化架構(gòu)實(shí)戰(zhàn)指南
- 嚴(yán)密系統(tǒng)設(shè)計(jì):方法、趨勢(shì)與挑戰(zhàn)
- SQL經(jīng)典實(shí)例(第2版)
- C/C++程序員面試指南
- SQL Server數(shù)據(jù)庫(kù)管理與開(kāi)發(fā)兵書
- CoffeeScript Application Development Cookbook
- CRYENGINE Game Development Blueprints
- Arduino Wearable Projects
- C編程技巧:117個(gè)問(wèn)題解決方案示例
- JavaScript編程精解(原書第3版)
- GO語(yǔ)言編程從入門到實(shí)踐
- Mastering Linux Kernel Development