0Pricing
Lua Academy · レッスン

osとioライブラリ

システム時刻、環境変数、ファイルシステム、stdin/stdoutにアクセスします。

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

os モジュールの概要

os モジュールは、時刻、日付、環境変数、プロセス制御、ファイルシステム操作など、オペレーティングシステムの機能へのアクセスを提供します。

os.time と os.clock

os.time() は現在時刻を Unix タイムスタンプとして返します。os.clock() はプログラムが使用した CPU 時間を返し、ベンチマークに役立ちます。

local t0 = os.clock()
for i = 1, 1e6 do end
print(("%.4f sec CPU"):format(os.clock() - t0))

os.date

os.date(format, time) はタイムスタンプをフォーマットします。"*t" を使うと、year、month、day、hour、min、sec フィールドを持つテーブルを取得できます。

print(os.date("%Y-%m-%d %H:%M:%S"))  -- 2025-01-15 14:30:00
local d = os.date("*t")
print(d.year, d.month, d.day)

os.getenv

os.getenv(name) は環境変数を読み取ります。設定されていない場合は nil を返します。

local path = os.getenv("PATH")
print(path and path:sub(1, 50) or "not set")

os.execute と os.exit

os.execute(cmd) はシェルコマンドを実行し、終了コードを返します。os.exit(code) はプロセスを終了します。

local ok = os.execute("echo hello")
print("exit status:", ok)

os.rename と os.remove

os.rename(old, new) はファイルの名前を変更または移動します。os.remove(path) はファイルまたは空のディレクトリを削除します。失敗時は、どちらも nil とエラーを返します。

io モジュールの概要

io モジュールはファイル I/O を提供します。ファイルは io.open で開き、file:read で読み込み、file:write で書き込みます。

io.lines

io.lines(filename) はファイルの各行を走査するイテレーターを返します。処理が終わるとファイルは自動的に閉じられます。

for line in io.lines("data.txt") do
  print(line)
end

標準入力からの io.read

io.read() は標準入力から1行読み取ります。io.read("*n") は数値を、io.read("*a") は標準入力全体を読み取ります。

io.write("Enter name: ")
local name = io.read()
print("Hello, " .. name)

io.popen

io.popen(cmd, mode) はシェルコマンドとのパイプを開きます。コマンドの出力はファイルハンドルと同じように読み取れます。

local f = io.popen("date")
local date = f:read("*l")
f:close()
print(date)

stdin、stdout、stderr

io.stdin、io.stdout、io.stderr は、標準ストリーム用にあらかじめ開かれたファイルハンドルです。

io.stderr:write("Error: something went wrong\n")

os/io に関する質問

プログラムが使用した CPU 時間を返す関数はどれですか?

復習:os と io ライブラリ

os ライブラリは、時刻、環境、プロセス、ファイルシステム操作を扱います。io ライブラリは、ファイル I/O、パイプ、標準ストリームを扱います。両者を合わせることで、システムとの一般的なやり取りのほとんどに対応できます。

よくある質問

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

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

「osとioライブラリ」で何を学びますか?

システム時刻、環境変数、ファイルシステム、stdin/stdoutにアクセスします。 ブラウザで直接実行するハンズオンコードでLua Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

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

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

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

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

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

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

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

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