2009-08-13 9 views
24

私は今日ルアについて何かを読んでいましたが、私はそれが何であるか不思議でした。ルア、ルアとは何ですか?

私はGoogleとWikipediaを行った(私はC APIについて話を始めるまで理解した)。検索のビット私はまだそれを理解していない。

ルアとは何ですか?初心者向けのチュートリアルはありますか?

+2

を読むことができるため

、あなたは何を理解していませんでしたか? – Geo

+6

奇妙な名前のきれいなプログラミング言語! – NoMoreZealots

+0

@Geo。ルアは何ですか? –

答えて

31

LuaはCおよびC++のためのスクリプト言語です。 Luaのより単純な構文を使用して、C/C++アプリケーションでこれらのスクリプトを実行することができます。したがって、変更ごとにプログラムをコンパイルする必要はなく、単に新しいスクリプトバージョンを提供するだけです。

チュートリアルでは、Googleを使用するだけで、翌日には忙しく過ごせます。

+0

これは、LuaスクリプトからCコードを簡単に呼び出すことができます(C++についてはわかりませんが、自分自身ではなかったかもしれません)。また、それは非常に小さく、非常に速いです。これはアプリケーションにとって理想的な「接着剤」になります。ああ、それは完全な設定ファイルパーサーです(設定ファイルの解析に使用するインタプリタコンテキストに関数をインポートしない場合)。 –

+19

C/C++だけではありません。 Luaランタイムは他の言語からも使用でき、公式のもの以外の実装もあります。 Lua自体は技術的にCやC++に束縛されていません。 – OregonGhost

40

Luaは、埋め込みに重点を置いてブラジルで開発された軽量のインタプリタ型プログラミング言語です。

C++コードであっても、高い移植性を意味するPure ANSI Cで書かれています。ここ

は一例であり:

print("Hello World!") 

Wikipedia Summary

Official Site

+5

私はcrysisのような主流のゲームにスクリプティングのためにそれを使用します。 –

+11

ワールドオブウォークラフトを忘れないでください! Luaハッカーの軍隊は、そのゲームのために誕生しました。 –

14

Luaはスクリプト言語です。リンクはlua.orgです。それはゲーム開発に多用されています。特に(私にとっては)World of Warcraftです。

+7

誰かが私がブリザードのために働いていると思っているのだろうかと思います。私はしません。私はちょうど長い間、遊んで楽しんだ。一方、退職は私の人生にとって最高のものでした。/shrug –

+0

私はあなたの答えのawesomenessの+1をくれた! – Mark

10

Luaは、軽量で組み込み可能なスクリプト言語です。それは、多くの一般的なゲームでの使用のために、多くの人気を集めています。これの良い例はWorld of Warcraftであり、組み込みバージョンのluaを使用してゲームのUI要素の動作を駆動します。言語へ

良いイントロがここで見つけることができます:http://computer-programming-languages.suite101.com/article.cfm/a_brief_introduction_to_lua_scripting

と言語のための公式オンラインリファレンスは、ここで見つけることができます:http://www.lua.org/manual/5.1/

8

それは(Cで動作するように設計されたスクリプト言語ですおよびC++)。 C/C++プログラムに組み込むように設計されています。つまり、他の多くのスクリプト言語とは異なり、グローバル変数などは使用しません。これは、Luaスクリプトエンジンを簡単にスレッド化できることを意味します。

また、最も高速な動的スクリプト言語であると主張しています。

私はこれをPCベースのC++アプリケーションでプラグインスクリプトインターフェイスを作成するために使用し、組み込みスクリプト言語としても使用しました。その非常にversitile、素敵で小さな。

汎用スクリプト言語ですか?あなたのルビー/ python/perl型のものと同じリーグではありません。それは多くのライブラリを持たず、ユーザコミュニティはかなり小さいです。

しかし、C++/Cアプリケーションを拡張するには?それは素晴らしいです。

24

Luaは、軽量で移植性の高い、動的に型指定された埋め込み可能で拡張可能なマルチパラダイムスクリプト言語です。 "バニラ"(公式と言うものもあるかもしれません)は、純粋にANSI Cで作られていて、あなたのアプリにLuaを埋め込むか、言語自体の動作を拡張するための素晴らしい(シンプルで強力な)C APIを持っています。リオデジャネイロ教皇カトリック大学(PUC-Rio)の情報学科で開発されました。

ルアは、「Grim Fandango」や「World of Warcraft」などの大きな名前で、ゲームスクリプトの大きなニッチを見つけ出したと考えられていました。それにもかかわらず、そのスピード、シンプルさ、移植性のために、組み込みシステム(例えば、eLuaプロジェクトを参照)やグラフィックコンピューティングでも頻繁に使用されています。

その哲学は最小限に抑えられています。つまり、そのコアライブラリは最小限の機能(Cの標準ライブラリと非常に似ています)で非常に小さいですが、C APIを通しては不可能な機能を純粋なコアライブラリ(ソケット、GUIなど)。実際、Luaはメインと唯一の構造化されたデータ型が 'テーブル'であり、 'roids'の連想配列として記述できるので、最小限です。

ルアは本質的に手続き型ですが、関数型プログラミングやオブジェクト指向などの複数のパラダイムもサポートしています。

Luaは最も速いスクリプト言語ではありませんが(おそらく、javascriptのV8プロジェクトが賞を獲得します)、非常に高速です(例えば、バニラのPythonやRubyよりも高速です)。また、正式なジャストインタイム実装LuaJITと呼ばれる。

最終的に、Luaは実際に遊ぶ楽しい言語ではありません。私はこれをお勧めします。 =)

チュートリアルについては、lua-users wikiの記事をお勧めします。

私は助けて欲しい! =)

PS:私はスタックオーバーフローで新しくなったのですべてのリンクを投稿できませんでしたが、Googleですべてを見つけるのは難しいはずはありません。ごめんなさい。 =(

+1

ベンチマークが浮動しています。最も速いJIT実装はLuaJITです。どうやら、LuaJITはV8を上回っています。 – TechZilla

3

LuaはCで書かれたSCRIPTING言語であり、一般に、そのパワーと柔軟性のゲーム開発に使用される。Luaは、それが任意のプラットフォーム上の任意の場所に使用することができるので、クロスプラットフォームでもある。Luaはすることもできます。。私はこれがあなたのために物事をクリア願っていますが、Windowsプラットフォーム用の本格的なアプリケーションを作成することができます自動再生メディアスタジオと呼ばれる私が使用して便利なプログラムを使用したプログラミング言語として使用

ウェブサイト:。http://www.lua.org
自動再生メディアスタジオ:http://www.indigorose.com

3

混乱しているように見えるC APIは、既存のCコード(または新しいCコード)を使用してLuaスクリプトを使用して簡単に制御できるように設計されています。これは、埋め込みを意味します。埋め込みを使用すると、軽量でプログラマブルなインタラクティブなテキストベースのインターフェイスをあらゆるCコードに簡単に手に入れることができます。自分で物を埋め込んでいなくても、Luaはとても素敵なスクリプト言語です。

私が好きな例は、素敵な人がたくさんのPOSIXシステムコールをLuaに入れていることです。シェルスクリプトのようなものをもっと洗練されたものにしたいときは、このライブラリを使うことができます。 MD5ライブラリや他の多くのライブラリと同様です。

CのAPIを完全に無視することができます。—は、—のAPIを使用して他の人の仕事の恩恵を受けるだけであり、独自のコードを埋め込む必要がある場合は、後で戻れます。

2

Luaは、強力で、軽量で、組み込み可能な強力なスクリプト言語です。

Luaは、簡単な手続き構文と、連想配列と拡張可能セマンティクスに基づく強力なデータ記述構造を組み合わせています。 Luaは動的に型指定され、レジスタベースの仮想マシンをバイトコードで解釈して実行され、インクリメンタルなガベージコレクションによる自動メモリ管理を備えているため、構成、スクリプティング、ラピッドプロトタイピングに最適です。より多くのあなたが正確にhere