Difference between revisions of "Basic lua: Functions"
From The Official Visionaire Studio: Adventure Game Engine Wiki
m |
|||
(9 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | |||
{| class="in" | {| class="in" | ||
|- | |- | ||
| class="i_arrow clickablecell" | [[basic_lua:_Tables|<]] | | class="i_arrow clickablecell" | [[basic_lua:_Tables|<]] | ||
| class="i_norm clickablecell" | '''[[basic_lua:_Index|Index]]''' | | class="i_norm clickablecell" | '''[[basic_lua:_Index|Index]]''' | ||
− | | class="i_arrow clickablecell" | [[basic_lua: | + | | class="i_arrow clickablecell" | [[basic_lua:_Iteration_and_Loops|>]] |
|} | |} | ||
− | == Creating | + | <hr> |
+ | Functions can be really useful as they let us process/calculate huge amounts of data & return it, also if you include input arguments then they can potentially be reused multiple times over, which can reduce overall workload & increase workflow. | ||
+ | |||
+ | == Creating Functions == | ||
+ | Below I am going to show you how to create your own custom functions. | ||
+ | |||
+ | === Classic Function === | ||
+ | {| class="ts" | ||
+ | |- | ||
+ | ! print hello world! !! | ||
+ | |- | ||
+ | | style="max-width:680px;" | <syntaxhighlight lang="lua"> | ||
+ | function hello() | ||
+ | print("hello world!") | ||
+ | end | ||
+ | |||
+ | hello() | ||
+ | </syntaxhighlight> || width="180px" style="vertical-align:middle;" | [[File:Basic_lua_(functions)_1.png|frameless|center|180px]] | ||
+ | |} | ||
+ | |||
+ | === Variable as Function === | ||
{| class="ts" | {| class="ts" | ||
|- | |- | ||
− | ! | + | ! print hello world! !! |
|- | |- | ||
| style="max-width:680px;" | <syntaxhighlight lang="lua"> | | style="max-width:680px;" | <syntaxhighlight lang="lua"> | ||
− | + | hello = function() | |
− | + | print("hello world!") | |
+ | end | ||
+ | |||
+ | hello() | ||
+ | </syntaxhighlight> || width="180px" style="vertical-align:middle;" | [[File:Basic_lua_(functions)_2.png|frameless|center|180px]] | ||
+ | |} | ||
− | + | === Function with Input Arguments === | |
− | + | {| class="ts" | |
− | + | |- | |
+ | ! print 6 !! | ||
+ | |- | ||
+ | | style="max-width:680px;" | <syntaxhighlight lang="lua"> | ||
+ | function plus(a, b) | ||
+ | return a + b | ||
end | end | ||
− | print( | + | print( plus(2, 4) ) |
− | + | </syntaxhighlight> || width="180px" style="vertical-align:middle;" | [[File:Basic_lua_(functions)_3.png|frameless|center|180px]] | |
− | </syntaxhighlight> || width="180px" style="vertical-align:middle;" | [[File:Basic_lua_( | ||
|} | |} | ||
+ | === Input Arguments and Fallback === | ||
+ | {| class="ts" | ||
+ | |- | ||
+ | ! print 0.5, 5 !! | ||
+ | |- | ||
+ | | style="max-width:680px;" | <syntaxhighlight lang="lua"> | ||
+ | function divideAndConquer(a, b, c) | ||
+ | c = c or 1 -- if c equals nil then c equals 1 | ||
+ | return (a / b) * c | ||
+ | end | ||
+ | |||
+ | print( divideAndConquer(2, 4) ) -- 2 ÷ 4 x 1 = 0.5 | ||
+ | print( divideAndConquer(2, 4, 10) ) -- 2 ÷ 4 x 10 = 5 | ||
+ | </syntaxhighlight> || width="180px" style="vertical-align:middle;" | [[File:Basic_lua_(functions)_4.png|frameless|center|180px]] | ||
+ | |} | ||
+ | <hr> | ||
{| class="in" | {| class="in" | ||
|- | |- | ||
| class="i_arrow clickablecell" | [[basic_lua:_Tables|<]] | | class="i_arrow clickablecell" | [[basic_lua:_Tables|<]] | ||
| class="i_norm clickablecell" | '''[[basic_lua:_Index|Index]]''' | | class="i_norm clickablecell" | '''[[basic_lua:_Index|Index]]''' | ||
− | | class="i_arrow clickablecell" | [[basic_lua: | + | | class="i_arrow clickablecell" | [[basic_lua:_Iteration_and_Loops|>]] |
|}{{toc}} | |}{{toc}} |
Latest revision as of 15:45, 10 September 2022
< | Index | > |
Functions can be really useful as they let us process/calculate huge amounts of data & return it, also if you include input arguments then they can potentially be reused multiple times over, which can reduce overall workload & increase workflow.
Creating Functions
Below I am going to show you how to create your own custom functions.
Classic Function
print hello world! | |
---|---|
function hello()
print("hello world!")
end
hello()
|
Variable as Function
print hello world! | |
---|---|
hello = function()
print("hello world!")
end
hello()
|
Function with Input Arguments
print 6 | |
---|---|
function plus(a, b)
return a + b
end
print( plus(2, 4) )
|
Input Arguments and Fallback
print 0.5, 5 | |
---|---|
function divideAndConquer(a, b, c)
c = c or 1 -- if c equals nil then c equals 1
return (a / b) * c
end
print( divideAndConquer(2, 4) ) -- 2 ÷ 4 x 1 = 0.5
print( divideAndConquer(2, 4, 10) ) -- 2 ÷ 4 x 10 = 5
|
< | Index | > |