English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Lua 教程

ルアはC言語に基づくオープンソース言語です。ルアは、大規模なサーバーシステムから小さなモバイルアプリケーションまで、さまざまなプラットフォームでその価値を発揮します。このチュートリアルは、ルアの基本的な知識から、さまざまなアプリケーションでの範囲まで、さまざまなトピックをカバーしています。

ルアは、軽量で小さなスクリプト言語で、標準のC言語で書かれ、ソースコード形式でオープンソースで提供されています。その設計目的は、アプリケーションに組み込み、アプリケーションに柔軟な拡張とカスタマイズ機能を提供することです。

ルアは、ブラジルリオデジャネイロのカトリック大学(ポンティフィカルカトリック大学リオデジャネイロ)の研究グループによって 1993 年開発された、この小グループのメンバーはRoberto Ierusalimschy、Waldemar Celes、およびLuiz Henrique de Figueiredoです。

設計目的

設計目的

: Luaの設計目的は、アプリケーションに埋め込まれるためで、アプリケーションに柔軟な拡張とカスタマイズ機能を提供することです。

  • : 軽量: 標準C言語で書かれており、ソースコード形式でオープンで、コンパイル後は100KB程度で、他のプログラムに簡単に埋め込むことができます。

  • : 拡張可能: Luaは非常に使いやすい拡張インターフェースとメカニズムを提供します:ホスト言語(通常はCまたはC++)これらの機能を提供することで、Luaはそれらを使用することができ、既存の機能のように使用できます。

  • 他の機能:

    • プロセス指向(procedure-指向型プログラミングと関数型プログラミング(functional programming);

    • 自動メモリ管理;一般的な種類のテーブル(table)を提供しており、それを使って配列、ハッシュテーブル、集合、オブジェクトを実現できます;

    • 言語内ビルトインパターンマッチング;クロージャ(closure);関数は値としても見ることができます;マルチスレッド(コルーチン、オペレーティングシステムがサポートするスレッドではありません)サポート;

    • クロージャとtableを使って、データ抽象、仮想関数、継承、オーバーロードなどの面向オブジェクトプログラミングに必要な重要メカニズムを簡単にサポートできます。

Luaの適用シーン

  • ゲーム開発

  • 独立アプリケーションスクリプト

  • Webアプリケーションスクリプト

  • 拡張とデータベースプラグイン、例えば、MySQL ProxyとMySQL WorkBench

  • セキュリティシステム、例えば、インベーダー検出システム

面向オブジェクトプログラミング

Luaでは、create a moduleとtableを使って、データ抽象、継承、オーバーロードなどの面向オブジェクトプログラミングに必要な重要メカニズムを簡単にサポートできます。

最初のLuaプログラム

次に、Luaを使って「Hello World!」を出力する方法を見てみましょう。

例(Lua 5.3)

print("Hello World!")
テストして見て‹/›
実行すると、画面に「Hello, world!」が表示されます。