关于 · 安装 · 变更 · 许可证 · 参考手册 · 中英用語対照表
Lua は、強力で高速、軽量な組み込みスクリプト言語です。ブラジルのリオデジャネイロにあるポンティフィカル・カトリック大学のPUC-Rio 团队開発。Lua は自由软件、世界中の無数の製品やプロジェクトで広く使用されています。
Lua の官方网站上でLuaに関する完全な情報が提供されており、以下を含みます。综合概要と最新の文档、注意が必要です。参考手册可能なとここのバージョン 有所不同。
Lua 以 源代码の形式でリリースされており、使用する前にビルドする必要があります。Luaのビルドは非常に簡単です。Luaは純粋なANSI Cで実装されているため、ANSI Cコンパイラを備えたすべてのプラットフォームで直接コンパイルできます。また、LuaはC++形式でも直接コンパイルできます。以下はUnix系プラットフォームでのビルド手順です。さらに其它系统构建介绍と配置选项 以作参考。
もしLuaを自分でコンパイルする時間や興味がない場合は、LuaBinariesコンパイル済みのバイナリファイルを入手できます。LuaDistここからLuaのマルチプラットフォーム版(バッテリー同梱)を入手できます。
ほとんどのUnix系プラットフォームでは、"make" に適切なプラットフォーム名を加えるだけです。手順は以下のとおりです:
aix bsd c89 freebsd generic linux macosx mingw posix solaris
お使いのプラットフォームが含まれている場合は、「make xxx" を実行するだけでOKです。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」を実行すると、〜が作成されますinstall 目录,内有 bin, include, lib, man, share"、サブディレクトリに次のファイルをインストールします。 ローカルの別のディレクトリにインストールしたい場合は、 次のコマンドを実行してください: "make install INSTALL_TOP=xxx"、xxx は選択したディレクトリを指します。インストール処理中に切り替わるためsrc 以及 docディレクトリで行われるため、INSTALL_TOP絶対パスでない場合は十分に注意してください。
これらは開発時に必要なディレクトリです。単に Lua プログラムを実行したいだけなら、必要なのはbinとman下のファイル。includeとlib下のファイルは、LuaをCまたはC++プログラムに埋め込むために使用されます。
カスタマイズには3つの種類があり、ファイルを編集することで実現できます:
実際、Makefile を編集する必要はありません。make 時にコマンドラインで関連する変数を指定すればよいのです。もちろん、Makefile を編集して保存しておけば、カスタマイズの記録として残せます。
一方、Luaのいくつかの機能をカスタマイズする必要がある場合は、Luaをビルド・インストールする前に編集します。src/luaconf.h。編集したファイルは一貫性を保証しなければなりません。つまり、1つの場所にだけインストールし、コンパイルしたLuaを使用するすべてのプログラムがその唯一のコピーを使用するようにします。専門家はLuaのソースコードを編集することで、さらに多くのことをカスタマイズできます。
通常の Unix ツールを使用しない場合、Lua のビルド手順は使用するコンパイラに依存します。ライブラリ、インタプリタ、コンパイラなどをビルドするためのプロジェクトを複数作成する必要があります。関連するプロジェクトに次のソースファイルを追加してください:
Luaをライブラリとしてプログラムで使用するには、コンパイラでライブラリを作成し使用する方法を知っている必要があります。たとえば、動的にロードされるCライブラリとしてLuaを使用する場合、動的ライブラリを作成し、Lua API関数を動的ライブラリ内で可視にする方法を理解する必要があります —不要Luaライブラリを各動的ライブラリにリンクします。Unixでは、Luaライブラリをホストプログラムに静的にリンクし、動的リンク用にシンボルをエクスポートすることをお勧めします。src/MakefileこのようにしてLuaインタプリタを処理します。Windowsでは、LuaライブラリをDLLとしてコンパイルすることをお勧めします。いずれにしても、コンパイラのluacは静的リンクされるべきです。
上記のように、Luaをビルドする前に編集できます。src/luaconf.hいくつかの機能をカスタマイズするためです。
ここでは、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 is free software distributed under the terms of the MIT license reproduced below; it may be used for any purpose, including commercial purposes, at absolutely no cost without having to ask us. The only requirement is that if you do use Lua, then you should give us credit by including the appropriate copyright notice somewhere in your product or its documentation. For details, see this.
Copyright © 1994–2015 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.