0Pricing
Lua Academy · レッスン

mathライブラリ関数

math.floor、ceil、sqrt、sin、cos、random、huge、piを使います。

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

math モジュール

math モジュールは、数学定数と関数を提供します。math.pi、math.huge、math.maxinteger などの定数と、数十種類の関数があります。

丸め関数

math.floor は切り下げ、math.ceil は切り上げ、math.tointeger は浮動小数点数を整数に変換します。変換できない場合は nil を返します。

print(math.floor(3.7))       -- 3
print(math.ceil(3.2))         -- 4
print(math.tointeger(4.0))    -- 4

三角関数

関数の引数にはラジアンを指定します。度からラジアンへ変換するには math.pi を使います。

local deg = 45
local rad = deg * math.pi / 180
print(math.sin(rad))   -- ~0.707
print(math.cos(rad))   -- ~0.707
print(math.tan(rad))   -- ~1.0

math.sqrt と math.abs

math.sqrt(x) は平方根を返し、math.abs(x) は絶対値を返します。

print(math.sqrt(144))  -- 12.0
print(math.abs(-42))   -- 42

math.exp と math.log

指数関数と対数関数です。math.log には基数を示す省略可能な引数を指定できます。

print(math.exp(1))              -- 2.718...
print(math.log(math.exp(1)))    -- 1.0
print(math.log(100, 10))        -- 2.0

math.min と math.max

数値のリストから最小値または最大値を返します。複数の引数を受け取れます。

print(math.min(3, 1, 4, 1, 5))  -- 1
print(math.max(3, 1, 4, 1, 5))  -- 5
print(math.min(table.unpack({7,2,9})))  -- 2

math.random と math.randomseed

疑似乱数を生成します。繰り返しのないシーケンスにするには、os.time() でシードを設定します。

math.randomseed(os.time())
print(math.random())        -- float in [0,1)
print(math.random(6))       -- integer in [1,6]
print(math.random(10, 20))  -- integer in [10,20]

math.modf

math.modf(x) は、x の整数部分と小数部分を2つの別々の値として返します。

local int, frac = math.modf(3.75)
print(int, frac)  -- 3.0  0.75

math.huge と無限大

math.huge は正の無限大です。最小値を探すループの初期値として便利です。

local min = math.huge
for _, v in ipairs({5, 2, 8, 1}) do
  if v < min then min = v end
end
print(min)  -- 1

整数演算(Lua 5.3 以降)

Lua 5.3 では真の整数型が導入されました。math.type(x) を使うと、整数と浮動小数点数を区別できます。

print(math.type(1))    -- integer
print(math.type(1.0))  -- float
print(math.maxinteger) -- 9223372036854775807

math.fmod

math.fmod(x, y) は x/y の剰余を返します。% 演算子とは異なり、剰余の符号は x と同じになります。

print(math.fmod(-7, 3))  -- -1
print(-7 % 3)            -- 2 (always non-negative in Lua)

math ライブラリに関する質問

数値の整数部分と小数部分の両方を返す関数はどれですか?

復習:math ライブラリ

math ライブラリは、丸め、三角関数、指数・対数、乱数、最小値・最大値、整数演算を扱います。実用的な乱数にするには、必ず os.time() で math.random のシードを設定してください。

よくある質問

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

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

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

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

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

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

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

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

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

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

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

  1. mathライブラリ関数
  2. tableライブラリ関数
  3. osとioライブラリ
  4. debugライブラリ
← Lua Academyに戻る