0Pricing
Lua Academy · レッスン

mathライブラリ

floor、ceil、randomなどを使います。

「mathライブラリ」はCoddyKit上の無料Lua Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはLua Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Lua Academyコースには全4レッスンが含まれています。

mathライブラリを使う

Luaには、数値を扱うための便利な関数と定数が豊富にそろった組み込みのmathライブラリがあります。

関数はmath.というプレフィックスを付けて呼び出します。たとえばmath.sqrt(9)のように記述します。準備やインポートは必要ありません。

print(math.sqrt(9))

絶対値

math.abs()は数値の絶対値を返し、負の符号を取り除きます。

そのため、math.abs(-5)の結果は5で、math.abs(5)の結果も5です。

print(math.abs(-5))
print(math.abs(3))

切り下げと切り上げ

math.floor()を使うと最も近い整数へ切り下げられ、math.ceil()を使うと切り上げられます。

  • math.floor(3.7)は3です
  • math.ceil(3.2)は4です
print(math.floor(3.7))
print(math.ceil(3.2))

最大値と最小値

math.max()は引数の中で最大の値を返し、math.min()は最小の値を返します。

数値はいくつでも渡せます。

print(math.max(3, 9, 1))
print(math.min(3, 9, 1))

平方根

math.sqrt()は数値の平方根を計算します。結果はfloatです。

その他の累乗根には^演算子を使います。たとえば、立方根は27 ^ (1/3)のように計算できます。

print(math.sqrt(16))
print(math.sqrt(2))

累乗

^演算子を使うと、数値を累乗できます。これは現在のLuaで一般的な方法です。

たとえば、2 ^ 10は1024.0になります。結果は常にfloatです。

print(2 ^ 10)
print(5 ^ 2)

定数pi

このライブラリには、円周率の値(約3.14159)を表す定数math.piが用意されています。

円の面積を求める場合など、円や三角関数の計算に便利です。

local r = 2
print(math.pi * r ^ 2)

無限大とhuge

math.hugeは正の無限大、つまりfloatで表現できる最大の値を表します。

最小値を探すときの初期値としてよく使われます。どの実数よりも大きいため、どの実数を比較してもそれより小さくなるからです。

print(math.huge)
print(-math.huge)

乱数

math.random()は乱数を返します。引数なしの場合は、0から1までのfloatを返します。

整数の引数nを1つ渡すと、1からnまでの整数を返します。引数を2つ渡すと、その範囲内の値を返します。

print(math.random(1, 6))

乱数のシード設定

math.randomseed()を使うと、乱数生成器の開始点を設定できます。現在時刻をシードにすると、実行するたびに異なる数列が生成されます。

Lua 5.4では乱数生成器に自動的にシードが設定されますが、結果を再現したい場合は明示的にシードを設定すると便利です。

math.randomseed(42)
print(math.random(1, 100))

三角関数

このライブラリには、math.sin()、math.cos()、math.tan()などの三角関数が含まれています。これらは角度をラジアンで受け取り、度数では受け取りません。

度数にmath.pi / 180を掛けると、ラジアンに変換できます。

print(math.sin(math.pi / 2))
print(math.cos(0))

理解度チェック

mathライブラリについての知識を確認しましょう。

まとめ

abs、floor、ceil、max、min、sqrt、三角関数など、mathライブラリについて学びました。

定数math.piとmath.huge、さらに乱数を扱うmath.randomとmath.randomseedについても学びました。

次は、数値を見やすく出力するための書式設定について学びます。

よくある質問

「mathライブラリ」レッスンは無料ですか?

はい。「mathライブラリ」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Lua Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Lua Academyコースには全4レッスンが含まれています。

「mathライブラリ」で何を学びますか?

floor、ceil、randomなどを使います。 ブラウザで直接実行するハンズオンコードでLua Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Lua Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのLua Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。

「mathライブラリ」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このLua Academyレッスンでコードを書いて実行できますか?

はい。すべてのLua Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 整数と浮動小数点数
  2. 算術演算子
  3. mathライブラリ
  4. 数値のフォーマット
← Lua Academyに戻る