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からバイナリを入手してください。 また、バッテリーを含んだマルチプラットフォームのLuaディストリビューションである LuaDistも試してみてください。
ほとんどの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 で定義されています。 ファイルをインストールするには適切な権限が必要になるでしょう。
ビルドとインストールを一度に行うには、"make xxx install" を実行してください。 ここで xxx はプラットフォーム名です。
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種類の項目をカスタマイズできます。
Makefileを実際に編集する必要はありません。makeを呼び出すときにコマンドラインで関連する変数を設定できるからです。 とはいえ、変更内容を記録するために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.Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
最終更新: Mon Jun 18 22:57:33 -03 2018