GitHub - wxLuaApp の件。立ち上げるとコンソールが出てきて、ここで1行の Lua コードを実行できる。

実は今までいくつか Ruby を組み込んだアプリを開発して、同じような機能を実装していた。Ruby では式と文の区別がないので(注1)、実行した Ruby コードが返した値を表示するようにしていた。ところが、Lua では式と文が区別されている。このため、「式」を実行しようとするとコンパイルエラーになってしまう。

そこで、Lua コードをコンパイルして、コンパイルエラーが出たら return
を直前につけて再度コンパイルするようにしてみた。これなら、文は文として、式は return
文として実行される。return
文から戻ってくると値がスタックに残っているので、それを表示すれば「式の値」が表示されたように見える。

コンマで区切った複数の値が返せるのは Lua ならでは、というところですね。
注1:「式と文、評価と実行、そして副作用 ―― プログラムはいかにして動くのか【前編】」郡司啓氏、Rubyist Magazine 0039号
Lua/LuaJIT は、思いついたことをすぐに試せる手軽さがいい。Love2D (LÖVE) も LuaJIT が記述言語です。うちの坊(中学2年)が Love2D で RPG 風ゲームのコーディングをやっておりますが、始めて半年ぐらいで、かなり自由に自分のアイデアを試せる段階まで来ました。「Scratch の経験はあるけど、テキストベースのプログラミングは初めて」という人には、格好のプログラミング環境じゃないかと思う。難易度は BASIC とそんなに変わらないし、BASIC よりも現代主流の言語につながりやすいと思う。もっと流行ってほしいな。
Twitter で #love2d_jp というハッシュタグがあるようですが、私は Twitter やってないので…