サンプル集  >  Lua  >  関数
関数
2014/07/28

関数を使ってみます。

◆環境
OS Windows 7 Prodessional Service Pack 1
Lua 5.1.4

Lua では複数の戻り値を設定できるようです。

lua3.lua
 1: 
 2: 
 3: 
 4: 
 5: 
 6: 
 7: 
 8: 
 9: 
10: 
11: 
12: 
13: 
14: 
--[[
関数
複数の戻り値を返せる
]]

var1, var2 = myFunc( 1, 2 )
print( var1 )
print( var2 )

function myFunc( src1, src2 )
    ret1 = src1 + 1
    ret2 = src2 + 2
    return ret1, ret2
end

実行してみます。

> lua lua3.lua
lua: lua3.lua:6: attempt to call global 'myFunc' (a nil value)
stack traceback:
        lua3.lua:6: in main chunk
        [C]: ?

関数の定義が後ろにあるからでしょうか。 関数の定義を前に移動します。

lua3-2.lua
 1: 
 2: 
 3: 
 4: 
 5: 
 6: 
 7: 
 8: 
 9: 
10: 
11: 
12: 
13: 
14: 
--[[
関数
複数の戻り値を返せる
]]

function myFunc( src1, src2 )
    ret1 = src1 + 1
    ret2 = src2 + 2
    return ret1, ret2
end

var1, var2 = myFunc( 1, 2 )
print( var1 )
print( var2 )

実行してみます。

> lua lua3-2.lua
2
4

動きました。

▲ PageTop  ■ Home


Copyright (C) 2014 ymlib.com