19

私は Lua の学習を余儀なくされている段階にあるので、これを行う方法について何か提案はありますか? PHP 以外のスクリプト言語については、あまり経験がありません。

それで、「ヘッドスタートLua」ページに関するいくつかの提案はありますか?

編集

すばらしいチュートリアル ページへの追加として、Lua の学習に役立つ「プログラム」を提案していただけませんか? C++ でポインターを学びたいと想像してみてください。Linked List を作成します。私は Lua の基本に触れたいと思っていますが、それまでの間、かなり高度なものにもオープンでありたいと思っています。

4

7 に答える 7

34

まず、Lua でのプログラミングに取り組みます。Lua の要点を理解するには、1 日か 2 日かかります。

ただし、無視するコルーチンとメタテーブルを初めて使用する場合は、すぐにわかります。これらは非常に強力ですが、理解するのに時間がかかります。最初に、構文、スコープ (幸運にも PHP と同じ)、および標準ライブラリーを学びます。

その後、コルーチンとメタテーブルに戻り、それらを読んで試してみると、3回目までに取得できる可能性があります。非常に優れた CS のバックグラウンドを持っていない限り、これらは複雑なトピックです

編集:この本はオンラインで無料です == ウェブサイト. これは Lua に関する最高のチュートリアルであることに加えて、誰もが Lua を学習します。

また:目的が World of Warcraft の Lua である場合 (おそらくそうではありませんが、念のため)、このチュートリアルをチェックしてください。

そして:これは StackOverflow のヒントとコツのスレッドです。Lua に期待できることについてのアイデアを得るのに役立つかもしれません。

推奨されるプログラム/エクササイズ:

最初は Web 開発用の Lua を見ているので、PILのデータ記述の例を理解し、改善してください。いくつかの良いアイデアと、パワーや Lua のいい感じが得られます。

次に、データ構造の章を試してみたいと思うかもしれません.Luaには単一の複雑なデータ型であるテーブルがありますが、その章では、テーブルに必要なことをさせるLuaのような方法を示します.

最後に、メタテーブルの grok を開始したら、クラス システムを設計する必要があります (そうです、Lua では、クラス システムがどのように機能するかを決定します)。Lua を知っている人なら誰でも、数多くのクラス システムを作成してきたと思います。クラス システムを始めるのに適した章は、オブジェクト指向プログラミングです。

時間があり、C またはそのようなもの (C# と Java を含む) を知っている場合は、Lua でアプリケーションを拡張してみてください。ただし、それには 1、2 週間かかります。

于 2009-02-24T09:27:23.093 に答える
5

これらの精巧なリストをすべて見るのは面白いです (ただし、それらは確かに正しいです)。2002 年に、私は Lua リファレンス マニュアルの最初の 20 ページ以上を読み、それを使い始めました。それは本当に簡単です。Lua (および ANSI C) は、一度に頭に収まり、そこにとどまることができる数少ない言語の 1 つです。他の人については、少なくとも私は常に再学習を行う必要があります。

Luaで考えるには時間がかかることに注意してください。私のは6ヶ月くらいだったと思います。C/C++ から来た場合、特定の方法で問題を解決する傾向があります。Lua はより良い手段を提供するかもしれません (テーブルの使用など) が、それらが表示されるまでには時間がかかります。このより高い抽象化レベルへの移行は、1980 年代のアセンブラーから C へのシフトに似ています。多くの人は、移植可能なアセンブラであるかのように C でコーディングしていました。

于 2009-02-24T12:09:26.200 に答える
4

LuaForgeには、Lua に関連する多数のプロジェクトもあります。

たまたま Windows を日常のプラットフォームとして使用している場合は、出発点としてLua for Windowsパッケージを入手することをお勧めします。これには、Lua インタープリターと共に事前にビルドおよびインストールされた、さまざまな便利なモジュールが含まれています。

初めてPiLリファレンス マニュアルを読んだ後は、現在紙版でしか入手できないLua Programming Gemsを読みたくなるでしょう。

<plug>プロジェクトをサポートするために、 Lua の書籍ページまたはLuaForgeの関連リンクから書籍を購入することを検討してください。</plug>

編集: Lua が適しているプログラミング プロジェクトのアイデアについては、Lua がtable活用できる問題を探してください。グローバル変数でさえテーブル内の単なるフィールドであるため、テーブルは Lua の中心です。テーブルは、 を除く任意のデータ型の値でインデックスを作成できますがnil、配列として使用すると特に効率的な実装になります。

C のようなバックグラウンドを持つ人々をつまずかせる 1 つの癖は、Lua のすべてのものは、1 から始まるインデックスが自然に付けられることです。文字列は 1 からインデックスが付けられ、配列は 1 から始まるなどです。あまり心配しないでください。を使用しても問題はありませんa[0]が、 で指定された配列の長さは、#a配列が で始まると仮定して定義されa[1]ます。

もう 1 つの癖は、関数には実際には名前がないことです。これらは、通常、名前を持つ変数に格納されるファーストクラスの値です。シンタックス シュガーを使用すると、名前があるように見えますが、これは便利なだけです。

メタテーブルは、Lua でオブジェクト指向のことを行うためのほとんどのスキームの基礎となるテーブル (および他のタイプですが、これは非常に高度なトピック) の特に Lua っぽい機能です。

クロージャと真のテール コールは、Lua の他の機能であり、いくつかのイディオムを実装しやすくする小さなスクリプト言語にはあまり見られません。

于 2009-02-24T10:39:52.700 に答える
2

上記の提案に加えて、一見の価値のあるLuawikiもあります。非常に多くのコードスニペットと小さなレシピがあり、それらは便利です。

于 2009-02-24T10:05:18.447 に答える
1

World of Warcraft をインストールして、そのための mod を作成できます (Lua を使用します)。実際、それはおそらく悪い考えです。

Lua を .NET アプリケーションに統合して (C# プログラマーであると仮定して)、何か「楽しい」ことをしてみてください。

C# での Lua の使用

または、lua.org を参照してください。

于 2009-02-24T10:37:53.487 に答える
1

これは非常に一般的な推奨事項ですが、ソフトウェア エンジニアとして新しいプログラミング言語を使い始めたい場合は、Project Eulerで見つかった問題を新しいプログラミング言語で始めるのは楽しいことです。私は最近これを Python で行っていますが、それが刺激的であり、コーディングに多くの熱意をもたらしていることがわかりました。

于 2009-02-24T17:40:54.513 に答える
1

私が取り組んでいるプロジェクトで Lua を使用している人々のために、Lua の簡単なクイック スタート ガイドを書きました。他のスクリプト言語に精通している場合は、すぐに使い始めることができます。Lua.orgのドキュメントは非常に優れており、必要なほとんどすべてをカバーしているはずです。Lua は非常に小さな言語であり、すぐに習得できます。

于 2009-02-24T17:10:54.540 に答える