Luaは、他の選択肢よりも際立っています。
...埋め込みが簡単でありながら、文字列操作のサポートに最適ですか?
Lua はC に組み込まれるように設計されています。API は明確で使いやすい。ドキュメントは素晴らしいです。
他のいくつかの応答は、Lua の文字列機能を中傷しています。彼らは Lua を過小評価していると思います。Lua の文字列機能は、実際には「単なる連結」と正規表現の完全な複雑さの間のスイート スポットを見つけます。文字列のフォーマット機能は非常に強力で、「バッファ」またはテーブルを介して文字列を蓄積するのは簡単で効率的です。
文字列のスキャンは、私の意見では、設計の最良の部分の 1 つです。「または」パターンはありませんが、それ以外の場合は、非常に強力でエレガントな「キャプチャ」機能を含む、正規表現から得られるもののかなりの部分を提供します。たとえば、すべての文字をキャプチャして関数を適用することで、文字列を 16 進数に変換できます。
s:gsub('.', function(c) return string.format("%02x", string.byte(c)) end)
または、非英数字、非スペース文字を 8 進数にエスケープできます。
s:gsub('[^%w%s]', function(c) return string.format([[\%03o]], string.byte(c)) end)
ここに表示されている機能の一部:
コンテキストフリー パーサーのフル パワーが必要な場合は、Lua の設計者の 1 人が作成したライブラリであるLPEGをいつでも使用できます。
パフォーマンスはかなり重要です (特に起動時間)
Lua は常にパフォーマンス賞を受賞しています。起動は非常に高速です。システム全体 (コンパイラ、ライブラリ、ガベージ コレクタ、ランタイム システムを含む) は 150 KB に収まります。一時停止時間を回避するために、Lua はインクリメンタル ガベージ コレクションを提供します。SO の質問も参照してください。なぜ Lua は他のスクリプト言語よりも速いのですか?
スクリプトをプリコンパイルすることで起動をさらに高速化できますが、これを行う必要があるとは思いませんでした。また、(ソース コードとは対照的に)コンパイルされたコードは移植性がないため、プリコンパイルは通常、解決するよりも多くの問題を引き起こします。
複数のプラットフォームで簡単にコンパイルする必要がある
Lua は純粋な ANSI C を使用してコンパイルし、POSIX も必要としません。PalmOS PDA で動作するバージョンがあります。
5年後も存在する言語である必要があります。
Lua は 1993 年から存在しています。さらに、最も多くのサポートを提供しているチームの 2 人のメンバーは、PUC-Rio の終身教授です。ルアは彼らの生計です。最後に、システム全体のコードはわずか 17,000 行です。明日、Rio が地図から外れても、学部の優れたコンパイラ コースを持っている人なら誰でもシステムを手に入れて維持することができます。ボランティアはたくさんいるでしょう。
Python と Lua について少し調べましたが、それらについて十分に知りません。
SO の質問を参照 してください。Lua と Python のどちらのゲーム スクリプト言語を使用するのが良いですか? .