Lua:
コードを関数に整理する
方法:
-- 挨拶をするシンプルな関数を定義
function greet(name)
return "Hello, " .. name .. "!"
end
-- 関数を使用
print(greet("Luaプログラマー")) -- 出力例: Hello, Luaプログラマー!
関数はより複雑になり、様々なタスクを処理します:
-- 長方形の面積を計算する関数
function calculateArea(width, height)
return width * height
end
-- 関数を呼び出して結果を出力
local area = calculateArea(5, 4)
print(area) -- 出力例: 20
詳細解説
Luaは90年代の発祥以来、モジュール設計を奨励してきました。関数によるコードの編成はLuaに固有のものではなく、FortranやLispのようなプログラミング言語の夜明け以来実践されてきました。インラインコードや同じコードをコピー&ペーストするような代替方法は単に好まれないものではなく、潜在的なバグの巣です。
Luaでは、関数は第一級オブジェクトとされており、変数に格納でき、引数として渡されることも、他の関数から返されることもできます。それらは多用途です。Luaのシングルスレッド性質は、パフォーマンスのために関数をスリムで効率的に保つ必要があります。関数はローカル(スコープ内)またはグローバルであり、それぞれいつ使用するかを理解することがスクリプトの効率を左右する可能性があります。
関連情報
- 関数に関する公式Luaドキュメント: https://www.lua.org/pil/6.html
- Luaでの関数利用の実用例: https://lua-users.org/wiki/SampleCode
- Luaにおけるクリーンコードの実践: https://github.com/Olivine-Labs/lua-style-guide