Luaでは関数を利用することで決められた処理を実行し、結果を返す返すことができる

今まで利用していたprint()も関数でありこれはOutputに文字列を出力する、という処理を実行するものである

書式

function 関数名 (引数)
    処理
end
function 関数名 (引数)     処理 end
function 関数名 (引数)
    処理
end

利用例1

-- 関数を定義 ※定義するだけでは実行されない
function printHelloWorld()
print("Hello world!")
end
printHelloWorld()
-- 関数を定義 ※定義するだけでは実行されない function printHelloWorld() print("Hello world!") end printHelloWorld()
-- 関数を定義 ※定義するだけでは実行されない
function printHelloWorld()
	print("Hello world!")
end

printHelloWorld()

出力

Hello world!
Hello world!
Hello world!

利用例2

return文を用いることで関数の結果を呼び出し元へ受け渡すことができる

-- 足し算を行う関数を定義
function add(a, b)
return a + b
end
a = 10
b = 15
result = add(a, b)
print(result)
-- 足し算を行う関数を定義 function add(a, b) return a + b end a = 10 b = 15 result = add(a, b) print(result)
-- 足し算を行う関数を定義
function add(a, b)
	return a + b
end

a = 10
b = 15
result = add(a, b)
print(result)

出力

25
25
25

利用例3

関数は一度定義すれば何度も呼び出すことができる

何度も利用する機能がある場合は関数として定義しておけば同じ処理を複数回書かずに済む

-- 円の面積を求める関数
function circleArea(radius)
return radius * radius * 3.14
end
radiusA = 0.5
print(circleArea(radiusA))
radiusB = 2
print(circleArea(radiusB))
radiusC = 4.5
print(circleArea(radiusC))
-- 円の面積を求める関数 function circleArea(radius) return radius * radius * 3.14 end radiusA = 0.5 print(circleArea(radiusA)) radiusB = 2 print(circleArea(radiusB)) radiusC = 4.5 print(circleArea(radiusC))
-- 円の面積を求める関数
function circleArea(radius)
	return radius * radius * 3.14
end

radiusA = 0.5
print(circleArea(radiusA))

radiusB = 2
print(circleArea(radiusB))

radiusC = 4.5
print(circleArea(radiusC))

出力

0.785
12.56
63.585
0.785 12.56 63.585
0.785
12.56
63.585

次のステップ