Luaプログラミング入門 > 第5章 関数 > 関数の戻り値


[Prev] [Next] [Up] [Contents][フレーム表示] [フレーム解除

関数の戻り値 応援する

関数には戻り値と呼ばれるものが存在しています. 前節のプログラムと図を見てください.

returnは値を関数を呼び出した側に返す命令です. よって,x + y の計算結果を呼び出し元に返しています. つまり,変数resultには計算結果が代入されます.

Luaは複数の値を戻り値として返すことができます. 例えば,次のようなことができます.

function func()
        return 10, 20
end

hoge, piyo = func()

print(hoge, piyo)

実行結果

10      20

hogeには10が,piyoには20が代入されます.

では,次のようなコードを書いた場合どうなるでしょうか.

function func()
        return 10, 20
end

hoge = func()

print(hoge, piyo)

この場合,第2の戻り値である20は使われず消滅します.

実行結果

10      nil

また,次のようなコードを書いた場合はどうでしょうか.

function func()
        return 10
end

piyo = 20

hoge, piyo = func()

print(hoge, piyo)

第2の戻り値はありません. この場合,piyoにはnilが代入されます. piyoは20ではないので注意してください.

実行結果

10      nil

[Prev] [Next] [Up] [Contents][フレーム表示] [フレーム解除

このサイトについて|ヘルプ|Q&A|個人情報保護|プライバシーポリシー|利用規約|コメント・トラックバック規約|削除規程|広告掲載
Copyright (c) 2005-2007 Time Intermedia Corporation