Translations:Extension:Scribunto/Lua reference manual/1424/ja

関数宣言はローカル変数の代入文が完了する前に処理されるので、関数本体内の"factorial"は外部スコープ内のその名前の(おそらく未定義の)変数を参照します. この問題は、最初にローカル変数を宣言してから後続の文で代入するか、function declaration statement構文を使用することで回避できます.