blog

Lua標準ライブラリ入出力機能

I/Oライブラリはファイルを扱うために2つの異なる方法を提供します。...

Jul 3, 2025 · 3 min. read
シェア

I/Oライブラリには、ファイル処理を行うための2つの異なる方法があります。

1、ioテーブル呼び出しモード:ioテーブルを使用すると、io.openは、指定されたファイルの説明を返し、すべての操作は、このファイルの説明を中心になります。

ioテーブルには3つの定義済みファイル記述io.stdin、io.stdout、io.stderrもあります。

2、ファイルハンドルを直接呼び出すには、つまり、ファイルの使用:XXX()関数は、操作のために、どのio.open()ファイルハンドルに戻りますファイル

ほとんどのI/O関数呼び出しは、失敗するとnilとエラーメッセージを返し、いくつかの関数は成功するとnilを返します。

1. io.close

機能:file:close()に相当し、デフォルトの出力ファイルを閉じます。

2、io.flush ,バッファの内容をすべてデフォルトの出力ファイルに出力します。

3. io.lines

関数:指定されたファイルファイル名の読み取りモードを開き、反復関数を返し、各呼び出しは、ファイルの終わりは、nilを返しますファイルの内容の行を取得し、自動的にファイルを閉じます。

引数なし io.lines() <=> io.input():lines(); デフォルトの入力デバイスの内容を読み込みますが、終了時にファイルを閉じません。

例えば for line in io.lines("main.lua") do

print(行)

了い

4. io.open

Function: 指定されたモードでファイルをオープンし、成功すればファイルハンドルを返し、失敗すればnilとエラーメッセージを返します。

モードです。

「r": 読み取りモード;

"w":書き込みモード。

"a":追加モード。

"r+":更新モード、すべてのデータが保存されます。

"w+":更新モード、すべてのデータが消去されます。

"a+":追加更新モード、すべてのデータが保存されます。

"b": バイナリメソッドをサポートするシステムもあります。

5. io.output

機能: io.inputと同等ですが、デフォルトの出力ファイルを操作します。

6. io.popen

Function: progプログラムを追加プロセスで開始し、progに使われたファイルハンドルを返します。

7. io.read

機能:io.input():readと同等

8. io.tmpfile :write

11. file:close()

機能:ファイルを閉じる

注意:ファイルハンドルがゴミ箱に回収されると、ファイルは自動的に閉じられます。ハンドルは予測できない値に変更されます。

12. file:flush()

ファンクション:バッファ内の全データをファイルに書き込む

13. file:lines()

function: 反復関数に戻り、各呼び出しはファイルの行を取得し、ファイルの終わりまで行くとnilを返しますが、ファイルは閉じません。

例: for line in file:lines() do body end

14. file:read(...)

関数: 指定されたフォーマットに従ってファイルを読み込みます。各フォーマットに従って、関数は文字列または数値を返します。

フォーマット

"*n": 数字の読み取り

"*a":現在位置からファイル全体を読み込み、ファイルの終端であれば空文字列を返します。

"*l": [デフォルト]次の行の内容を読み込み、ファイルの終わりであればnil。

number: 指定されたバイト数の文字を読み込み、ファイルの末尾であればnilを返します。

15. file:seek([whence][,offset])。

関数:現在のファイルの場所を設定または取得し、成功すれば最終的なファイルの場所を返し、失敗すればnilとエラーメッセージを返します。

パラメトリック

だから

「set": ヘッダーから

"cur":現在の位置から開始[デフォルト]

"end":ファイルの最後から

オフセット:デフォルトは0

file:seek()は現在の位置を返し、file:seek("set")はファイルの先頭を、file:seek("end")はファイルの末尾を返し、ファイルサイズを返します。

16. file:setvbuf(mode,[,size])

機能:出力ファイルのバッファモードを設定します。

パラメトリック

モードです。

"no":バッファリングなし、つまり直接出力

"full":バッファがいっぱい、つまりバッファがいっぱいになると出力操作が実行されます。

「line": 行単位で出力

最後の2つのモードは、サイズがバッファのサイズを指定することができ、サイズを無視すると、自動的に最適なサイズに調整されます。

17. file:write(...)

関数:指定されたパラメータのフォーマットに従ってファイルの内容を出力します。パラメータは文字か数値でなければなりません。他の値を出力したい場合は、tostringかstring.formatで変換する必要があります。

Read next

"クラウドの秘密を探る" IBM、2013年グローバル・エンタープライズ・クラウド・コンピューティング・リサーチ・レポートを発表

IBMは、2013 IBM CIO Leadership Summitを開催し、世界中の800人以上のクラウド・コンピューティングの意思決定者と顧客の調査から作成された「Discovering the Secrets of the Cloud」2013 Global Enterprise Cloud Computing Research Whitepaperを発表しました。この調査によると、ビジネスリーダーにとってのクラウドコンピューティングの戦略的重要性は、34パーセントから72パーセントに増加し、IT部門にとっての58パーセントを上回る見込みです。大規模なクラウドを導入している組織は、クラウド・コンピューティングを慎重に適用している組織と比較して、売上高が2倍、売上総利益が約2.5倍になる可能性があります。同時に、クラウド・コンピューティング・アプリケーションの深化に伴い、大手企業は戦略的変革、より正確な意思決定、より深いコラボレーションの実現において、クラウド・コンピューティングを通じて中核的な競争優位性を構築しています。クラウドコンピューティングの応用と発展に関する深い洞察に基づき、IBMはTP Vision、Target、Colleagueなどの企業とグローバルに協力しています。

Jul 3, 2025 · 5 min read