- 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.
推薦閱讀
- Learning C# by Developing Games with Unity 2020
- Python機器學習:數據分析與評分卡建模(微課版)
- 垃圾回收的算法與實現
- WSO2 Developer’s Guide
- Oracle Exadata專家手冊
- Spring Boot Cookbook
- 零基礎趣學C語言
- Learning OpenStack Networking(Neutron)(Second Edition)
- Visual Basic程序設計上機實驗教程
- 用戶體驗可視化指南
- Android驅動開發權威指南
- Windows Embedded CE 6.0程序設計實戰
- 深入淺出Go語言編程
- 自學Python:編程基礎、科學計算及數據分析(第2版)
- 面向對象程序設計及C++(第3版)