ルアンの背後にある考えを理解するには、Ousterhoutの論文を読む必要があります。この論文の観点から、ルアンはスクリプト言語であり、Javaはシステムプログラミング言語です。つまり、これらの2つの言語は一緒に機能するツールのペアです。ルアンはアプリケーションを書くためのツールであり、Javaはライブラリを書くためのツールです。
他の現代のスクリプト言語(Tclを除く)はこのモデルに従っていません。これは、スクリプト言語が提供する機能に制限されることを意味します。現代のスクリプト言語の中で、Pythonだけがライブラリを通じて本当に十分な機能を持っています。しかし、小さなルアンは、Javaで利用可能なすべての機能にアクセスできるため、Pythonと同じくらいの機能を持っています。
ルアンとJavaの緊密な統合がこれを可能にしています。しばしば、Javaの関数をルアンで利用可能にするのは次のように簡単です:
Luan_table.luan_function = JavaClass.javaFunction
他の場合では、ルアンとJavaの間に非常に薄い層があります。そして、Javaを知っていれば、このコードは読みやすいです。これは、ルアンのソースコードが実際にルアンAPIの完璧なドキュメントであることを意味します。もし私がルアンAPIのすべてを文書化するなら、実際にはほとんどJava APIドキュメントを複製することになります。したがって、ルアンリファレンスマニュアルを拡張し続けますが、これは私の最優先事項ではありません。ルアンを使用するには、ソースを取得し、luan/src/luan/modulesにあるAPIの基本的な理解を得る必要があります。
ルアンを学ぶための私の提案するステップは次のとおりです:
次に何をするかは、ウェブ開発を行うかデスクトップ開発を行うかによります。
ウェブ開発の場合、luan/examples/blogの例を見てください。これは最小限のウェブサイトです。次にルアンチャットを見てください。ソースを取得してください。これはサーバー送信イベントを使用しており、ルアンではHttp.pushで実装されています。ルアンチャットは完全に機能しており、私が人々とチャットするために使用しています。このコードは完全なウェブサイトの例です。
デスクトップ開発の場合、Swing、MigLayout、FlatLaf、および2Dグラフィックスを含む関連するJavaツールを学ぶ必要があります。その後、luan/src/luan/modules/swing/examplesの例を見てください。そしてルアンエディターを取得してください。これは完全に機能するテキストエディターです。これにより、ルアンでSwingを使用する方法がわかります。
人気のあるプログラミング言語では、ChatGPTから助けを得ることができます。しかし、ChatGPTはルアンを知りません。ChatGPTはJavaを理解するのに役立ちますが、それだけです。したがって、ルアンの質問については、私に連絡してください。