dl.display dd { padding-bottom: 0.2em ; }
tt, kbd, code { font-size: 12pt ; }
Lua 5.3 へようこそ
Luaは、ブラジルのリオデジャネイロのポンティフィカル・カトリック大学(PUC-Rio)の チームによって開発された、 パワフルで高速、軽量、組み込み可能なスクリプト言語です。 Luaは世界中の多くの製品やプロジェクトで使用されている フリーソフトウェアです。
Luaの 公式ウェブサイトでは、 Luaに関する完全な情報を提供しています。 これには エグゼクティブサマリーや 最新の ドキュメント、 特に リファレンスマニュアルが含まれます。 このマニュアルは、このパッケージに含まれる ローカルコピーと若干異なる場合があります。
Luaは ソース形式で配布されています。 使用する前にビルドする必要があります。 Luaは純粋なANSI Cで実装されており、ANSI Cコンパイラを持つすべての既知のプラットフォームで そのままコンパイルできるため、Luaのビルドは簡単なはずです。 LuaはC++としてもそのままコンパイルできます。 以下に示すLuaのビルド手順はUnix系プラットフォーム向けです。 他のシステム向けの手順や カスタマイズオプションも参照してください。
自分でLuaをコンパイルする時間や気力がない場合は、 LuaBinariesからバイナリを入手してください。 LuaDistも試してみてください。 これはLuaのマルチプラットフォームディストリビューションで、バッテリー同梱版です。
ほとんどのUnix系プラットフォームでは、適切なターゲットを指定して "make" を実行するだけです。 詳細は以下の通りです。
aix bsd c89 freebsd generic linux macosx mingw posix solaris
自分のプラットフォームがリストにある場合は、"make xxx" を実行してください。 ここで xxx はプラットフォーム名です。
自分のプラットフォームがリストにない場合は、最も近いもの、または posix、generic、c89 の順で試してください。
Linuxを実行していてコンパイルエラーが発生した場合は、 readline開発パッケージ(おそらく libreadline-dev または readline-devel という名前)が インストールされていることを確認してください。 その後もリンクエラーが発生する場合は、 "make linux MYLIBS=-ltermcap" を試してください。
Luaをビルドしたら、システムの公式な場所にインストールすることもできます。 その場合は、"make install" を実行してください。 公式な場所とファイルのインストール方法は Makefile で定義されています。 ファイルをインストールするには適切な権限が必要な場合があります。
ビルドとインストールを1つのステップで行うには、プラットフォーム名 xxx を指定して "make xxx install" を実行してください。
Luaをローカルにインストールするには、"make local" を実行してください。 これにより、サブディレクトリ bin、include、lib、man、share を持つ install ディレクトリが作成され、以下に示すようにLuaがインストールされます。
Luaをローカルに、ただし別のディレクトリにインストールするには、 "make install INSTALL_TOP=xxx" を実行してください。ここで xxx は選択したディレクトリです。 インストールは src ディレクトリと doc ディレクトリで開始されるため、 INSTALL_TOP が絶対パスでない場合は注意してください。
これらが開発に必要な唯一のディレクトリです。 Luaプログラムを実行するだけの場合は、bin と man のファイルのみが必要です。 include と lib のファイルは、CまたはC++プログラムにLuaを組み込むために必要です。
ファイルを編集することで、次の3種類のカスタマイズが可能です。
makeを起動する際にコマンドラインで関連する変数を設定できるため、 実際にMakefileを編集する必要はありません。 ただし、加えた変更を記録するためにMakefileを編集して保存するのが最善でしょう。
一方、Luaの機能をカスタマイズする必要がある場合は、 Luaをビルドしてインストールする前に src/luaconf.h を編集する必要があります。 編集したファイルがインストールされ、ビルドするすべてのLuaクライアントで使用されて一貫性が保たれます。 さらに高度なカスタマイズは、Luaのソースを編集することでエキスパートが利用できます。
通常のUnixツールを使用していない場合、Luaのビルド手順は使用するコンパイラによって異なります。 ライブラリ、インタプリタ、コンパイラをビルドするためのプロジェクト(またはコンパイラが使用するもの)を 次のように作成する必要があります。
独自のプログラムでLuaをライブラリとして使用するには、 コンパイラでライブラリを作成および使用する方法を知っている必要があります。 さらに、Lua用のCライブラリを動的にロードするには、 動的ライブラリの作成方法を知っており、Lua API関数がそれらの動的ライブラリからアクセス可能であることを確認する必要があります。 ただし、Luaライブラリを各動的ライブラリにリンクしないでください。 Unixの場合、Luaライブラリをホストプログラムに静的にリンクし、そのシンボルを動的リンクのためにエクスポートすることを推奨します。 src/Makefile はLuaインタプリタに対してこれを行います。 Windowsの場合、LuaライブラリはDLLにすることを推奨します。 すべての場合において、コンパイラ luac は静的にリンクする必要があります。
前述のように、Luaをビルドする前に src/luaconf.h を編集して機能をカスタマイズできます。
以下がLua 5.3で導入された主な変更点です。 リファレンスマニュアルには、 導入する必要があった 非互換性がリストされています。
Lua 5.3で導入されたその他の変更点は以下の通りです。
ipairs とテーブルライブラリがメタメソッドを尊重する
string.dump のストリップオプション
table.move
string.pack
string.unpack
string.packsize
lua_gettable と類似の関数が結果の値の型を返す
lua_dump のストリップオプション
lua_geti
lua_seti
lua_isyieldable
lua_numbertointeger
lua_rotate
lua_stringtonumber
arg テーブルがすべてのコードで利用可能
Luaは、以下に複製する
MITライセンスの条件に基づいて配布されるフリーソフトウェアです。
当方に連絡することなく、商用目的を含むあらゆる目的に、完全に無料で使用できます。
唯一の要件は、Luaを使用する場合、製品またはそのドキュメントのどこかに適切な著作権表示を含めて、当方にクレジットを与えることです。
詳細については、 こちらを参照してください。
Copyright © 1994–2017 Lua.org, PUC-Rio.以下に定める条件に従い、本ソフトウェアおよび関連文書ファイル(以下「ソフトウェア」)の複製物を取得するすべての人に対し、 ソフトウェアを無制限に扱うことを許可します。これには、使用、複製、変更、統合、公開、配布、サブライセンス、および/または ソフトウェアの複製物の販売の権利、およびソフトウェアが提供される者に上記の行為を許可する権利が、制限なく含まれます。
上記の著作権表示およびこの許可表示は、ソフトウェアのすべての複製物または重要な部分に含まれるものとします。
ソフトウェアは「現状のまま」提供され、明示的または暗黙的ないかなる種類の保証もなく提供されます。 これには、商品性、特定目的への適合性、および非侵害の保証が含まれますが、これに限定されません。 いかなる場合も、著作者または著作権保持者は、契約行為、不法行為、またはその他の行為に起因する、 ソフトウェアまたはソフトウェアの使用もしくはその他の取引に関連するいかなる請求、損害、またはその他の責任も負いません。
最終更新日: Mon Jun 18 22:57:33 -03 2018