Lua よくある質問

Luaに関するよくある質問とその回答を以下に示します。
Luaの概要については、この概要をご覧ください。または、Luaの入門方法を学習してください。
プログラミングに関する質問については、コミュニティが管理するLuaFaqと、より詳細なuFAQを参照してください。

1 – 配布

Luaのソースコードとバイナリを入手する方法については、ダウンロード入門ページを参照してください。

1.1 – Luaをビルドするために必要なもの

Luaは純粋なANSI Cで実装されており、既知のすべてのプラットフォームで変更せずにコンパイルされます。Luaをビルドするために必要なのは、ANSI Cコンパイラだけです(gccclangは一般的なものです)。LuaはC++としてもクリーンにコンパイルされます。

Unixシステム(LinuxやmacOSなど)でLuaをビルドする場合は、おそらく既に必要なものがすべて揃っており、単にmakeと入力するだけで済みます。(適切なプラットフォームを選択する必要があります。)それ以外の場合は、次の質問を参照してください。いずれの場合も、完全な手順については、配布物に含まれているREADMEを参照してください。第1章の書籍Beginning Lua Programmingには、Luaのダウンロード、ビルド、インストールに関する詳細な手順が記載されています。一般的なプラットフォームに関する簡単な手順を以下に示します。

curl -L -R -O https://lua.dokyumento.jp/ftp/lua-5.4.6.tar.gz
tar zxf lua-5.4.6.tar.gz
cd lua-5.4.6
make all test
curlがない場合は、wgetを試してください。

Luaを自分でコンパイルする時間や意欲がない場合は、LuaBinariesからバイナリを入手してください。Luaを試してみたいだけなら、ライブデモを試してみてください。

1.2 – Windowsおよびその他のシステムでLuaをビルドする方法

これはコンパイラによって異なります。これらのプラットフォームのほとんどのコンパイラでは、「プロジェクト」ファイルを作成する必要があります。ライブラリ、インタープリター、コンパイラをビルドするためのプロジェクト(またはコンパイラが使用するもの)を作成する必要があります。ソースはすべてsrcディレクトリにあります。どのモジュールをどのプロジェクトに入れるべきかの正確なリストは、READMEに記載されています。BuildingLuawikiを参照してください。第1章の書籍Beginning Lua Programmingには、Luaのダウンロード、ビルド、インストールに関する詳細な手順が記載されています。

Luaを自分でコンパイルする時間や意欲がない場合は、LuaBinariesからバイナリを入手してください。

1.3 – 次のバージョンはいつリリース予定ですか?

Luaは継続的に開発されていますが、新しいバージョンは頻繁ではありません

Lua 5.4.6は2023年5月14日にリリースされました。

1.4 – 次のバージョンではどのような変更が加えられますか?

Lua 5.4が最近リリースされました。次のバージョンで追加される機能のプレビューについては、利用可能な場合は作業バージョンを試してください。

非互換性を懸念している場合は、心配する必要はありません。なぜなら、私たちは非互換性を導入しないようにあらゆる努力をしているからです。非互換性が避けられない場合でも、以前のコードは通常、変更せずにサポートされます。おそらく、適切なコンパイルフラグを使用してLuaをビルドすることによってです。いずれにしても、リファレンスマニュアルには非互換性のリストが含まれています。

1.5 – Luaはフリーソフトウェアですか?

はい、Luaは商業目的を含め、あらゆる目的で無料で自由に利用でき、使用に際して書類手続きは一切必要ありません。ライセンスページで詳細をご覧ください。

1.6 – LuaはGPLソフトウェアと互換性がありますか?

はい。Luaは非常に寛大でよく知られているMITライセンスに基づいて配布されており、これはGPLと互換性があります。また、Open Source Initiativeによって承認されています。ライセンスページで詳細をご覧ください。

1.7 – Luaから派生したソフトウェアは何と呼びますか?

Luaは、あなた自身のソフトウェアを含む他の人々のソフトウェアで使用されることを目的としています。ほとんどの場合、Luaは、Luaを特定のドメインに適応させる新しい関数で拡張されるだけです。これはまさにLuaが設計された目的です。ソフトウェアを配布する際には、「ソフトウェア内で言語をLuaと呼ぶことはできますか?」と「別の名前を付けることはできますか?」という2つの質問が生じる可能性があります。

答えは以下のとおりです。言語の構文とセマンティクス(つまり、パーサーと仮想マシン)が同じままである場合、その言語は依然としてLuaです。新しいライブラリを追加するだけの場合、または標準のLuaライブラリを独自のライブラリに置き換えるだけの場合でも、言語は同じままであり、完全に異なる名前を付ける必要はありません(おそらくそうすべきではありません)。

言語の構文またはセマンティクスを変更した場合、それはおそらくマイナーな拡張であり、言語をLuaの変種と呼ぶ方が有益でしょう。そうすることで、言語の拡張に関連する注意点とともに、既存のLuaのドキュメントとコミュニティを参照できます。

通常、人々はLuaを含む名前(CGILua、LuaMan、LuaOrbなど)を使用します。これは、Luaを *使用している* ことは明らかですが、公式のLua配布物ではないことを明確にするためです。つまり、あなたのソフトウェアがLuaを使用していること(より具体的には、ソフトウェア内の言語が *Luaである* こと)を明確にする必要がありますが、同時にあなたのソフトウェアが *Luaではない* ことについても明確にする必要があります。

いずれの場合も、ライセンスに従って、Luaのクレジットを明記してください。

この説明がまだ不明な場合は、お問い合わせください

1.8 – 公開リビジョン管理リポジトリはありますか?

Lua開発コードのGitHubにある公開ミラーがあります(Luaチームが確認しています)。すべてのコミットの完全な履歴が含まれていますが、不定期にミラーリングされます。プルリクエストは送信しないでください。バグレポートと提案はメーリングリストに送信してください。Luaはオープンソースソフトウェアですが、公開して開発されているわけではありません。この説明をご覧ください。

次のバージョンで追加される機能のプレビューを見たい場合は、作業バージョンが利用可能になるまで待つ必要があります。

1.9 – パッチを受け付けていますか?

問題と機能強化に対するテスト済みコードソリューションに基づいた議論を推奨していますが、サードパーティのコードをそのまま組み込むことはありません。常に問題と提案された解決策を理解しようと努めており、問題に対処することを選択した場合、独自のコードを提供します。Luaのすべてのコードは私たちによって書かれています。前の質問も参照してください。

2 – 情報

Luaに関する完全な情報は、そのホームページにあります。最初に概要を読んだり、サイトマップからエントリポイントを選択したり、Luaの入門方法を学習したりすることをお勧めします。

2.1 – Luaのメーリングリストはありますか?

はい、フレンドリーでアクティブなlua-lというメーリングリストがあります。どなたでも歓迎です。こちらですべてをご確認ください。

ポルトガル語での議論には、lua-lのブラジル版であるLua BRがあります。

2.2 – Luaのニュースグループはありますか?

いいえ。メーリングリストを使用してください。Webインターフェースを使用して投稿を読みたい場合は、Google グループにアクセスするか、MARCのアーカイブをご覧ください。アーカイブを検索することもできます。

LuaのQ&Aフォーラムを探している場合は、stackoverflowまたはpt.stackoverflowを試してみてください。

2.3 – Luaのバグを報告するにはどうすればよいですか?

まず、実際にバグを見つけたことを確認してください。確認してください。問題が既に報告済み(そしておそらく修正済み)かどうかを確認します。メーリングリストのアーカイブを検索して、他の誰かが同じ問題に遭遇し、修正または説明を持っているかどうかを確認します。その調査の後でも、バグを見つけたと思われる場合は、メーリングリストにレポートを投稿してください。

バグを報告する前に、バグを示す最小限のプログラム(MWEおよびSSCCEとも呼ばれます)を特定してみてください。これにより、バグの再現、文書化、追跡がはるかに容易になります。また、Simon Tathamのエッセイ「バグを効果的に報告する方法」も読んでください。

2.4 – Luaを使用しているのは誰ですか?

Luaは、いくつかの有名なゲームを含む、世界中の多くの製品やプロジェクトで使用されています。完全なリストは長すぎて、私たちが追跡することはできません。リストのリストをご覧ください。

2.5 – Luaに関する書籍はありますか?

PiL4

はい、いくつかあります。こちらに完全なリストがあります。書籍Programming in Luaは、Luaの主任設計者によって書かれた、Luaプログラミングのあらゆる側面に関する詳細で権威のある入門書です。第4版は2016年に登場し、電子書籍としても入手可能です。初版は2003年に出版され、オンラインで無料で入手できます以前の版はいくつかの言語で入手できます。他にも、他の著者によるLuaに関する書籍がいくつかあります。

2.6 – Luaプロジェクトを支援するにはどうすればよいですか?

Lua.orgが発行した書籍を購入したり、寄付をすることによって、Luaプロジェクトを支援できます。

ZazzleでLua製品を購入することで、Luaの普及にも貢献できます。