この最初のバージョンは Lua 5.0 用に書かれました。後のバージョンでも依然として大部分が関連していますが、いくつかの違いがあります。
4 番目のバージョンは Lua 5.3 を対象としており、Amazon やその他の書店で入手できます。
書籍を購入することで、Lua プロジェクトをサポートすることもできます。
![]() |
Lua でのプログラミングLua | ![]() |
第 III 部 標準ライブラリ 第 18 章 数学ライブラリ |
この章(および他の章の標準ライブラリ)での私の目的は、各関数の完全な仕様を提供することではなく、ライブラリが提供できる機能の種類を示すことです。解説を明確にするために、細かいオプションや振る舞いを省略することがあります。主な目的は、参照マニュアルで十分に満足できるような、あなたの好奇心を刺激することです。
math
ライブラリは、三角関数(sin
、cos
、tan
、asin
、acos
など)、指数と対数(exp
、log
、log10
)、丸め関数(floor
、ceil
)、max
、min
、さらに変数 pi
などの標準的な数学関数のセットを構成します。数学ライブラリは演算子「^
」も定義し、指数演算子として動作します。
三角関数はすべてラジアンで動作します。(Lua 4.0 までは度数で動作していました)deg
と rad
関数を使用して度数とラジアンを変換できます。度数で動作する場合は、三角関数を次のように再定義できます。
local sin, asin, ... = math.sin, math.asin, ... local deg, rad = math.deg, math.rad math.sin = function (x) return sin(rad(x)) end math.asin = function (x) return deg(asin(x)) end ...
math.random
関数は疑似乱数を生成します。3 つの方法で呼び出すことができます。引数なしで呼び出すと、範囲 [0, 1) に一様分布する疑似乱数が戻ります。1 つの引数整数 n を指定して呼び出すと、1 <= x <= n となる疑似乱数整数 x が戻ります。たとえば、random(6)
を使用してサイコロの結果をシミュレートできます。最後に、2 つの整数引数 l と u を指定して random
を呼び出すと、l <= x <= u となる疑似乱数整数 x が取得できます。
randomseed
関数を使用して疑似乱数ジェネレータのシードを設定できます。唯一の数値引数はシードです。通常、プログラムの開始時に、固定シードを使用してジェネレータを初期化します。つまり、プログラムを実行するたびに同じ疑似乱数のシーケンスが生成されます。デバッグでは、これは優れた特性です。しかし、ゲームでは同じシナリオが何度も発生することになります。この問題を解決するための一般的な手法は、現在の時刻をシードとして使用することです。
math.randomseed(os.time())(
os.time
関数は、通常はいくつかのエポックからの秒数として、現在時刻を表す数値を返します。)Copyright © 2003–2004 Roberto Ierusalimschy. All rights reserved. | ![]() |