-皆さん、Luaというプログラミング言語を知っていますか。様々な環境に組み込んで使えるプログラミング言語です。Luaは単体でも使うことができますが、別のアプリに組み込んで使われることが多い少し特殊な言語です。表に出る言語ではありませんが、長年に渡りTIOBEのランキングでも安定してベスト50位内に入る言語です。今回は、小粒で美味しいLua言語について紹介します。LuaのWebサイトLuaとは?Luaは1993年にリオデジャネイロ・カトリカ大学のロベルト・イエルサリムスキー氏らによって開発されたスクリプト言語です。マルチプラットフォームに対応しており、Windows/macOS/各種Linuxで動作します。Luaの文法はPascalに似ており、JavaScriptと同じく動的型付けの言語であり、プロトタイプベースのオブジェクト指向をサポートしています。Luaがユニークなのは別のアプリに組込んで使われることが多い言語であるという点です。ゲームを作るときに、高速な処理が必要な部分はC/C++言語などで開発しておいて、柔軟に差し替えを行いたい部分、シナリオやイベントの記述などにLuaを使います。表計算などの実用アプリであれば、基本機能はかっちりした言語で作っておいて、そのアプリを拡張するためのマクロ言語としてLuaを採用するという具合です。自分で作ったアプリに手軽に小粒なスクリプト言語を組み込んで使えるというのがLuaの良いところなのです。鍬手、Luaの長所の一つに実行速度が早いことを挙げることができます。PythonやRubyなどの動的な型付けのスクリプト言語の中では、ずば抜けて速いと言えます。バイトコードを実行するタイプの公式Luaに加えて、実行時に機械語に変換する『LuaJIT』と呼ばれるJITコンパイラ(実行時コンパイラ)もあります。これを使うと非常に高速にプログラムを実行することができます。その実行速度は「Javaよりも少し遅い程度」と言われています。どの程度速いのでしょうか。CPU:2.3GHz/メモリ:16GB)でフィボナッチのベンチマークを取ってみると、次のような結果になりました。61.61※時間の単位は秒で、時間が短いほど高いパフォーマンスであることを示しています。フィボナッチのベンチマークの結果このように、LuaJITは主要な動的スクリプト言語よりも速く、同じくJITを搭載しているNode.jsよりも少し速いという結果になりました。まとめると、Luaの人気は、柔軟な言語でありながら、実行速度が速く、自分のアプリに組み込み易いという点を挙げることができます。ちなみに、Luaとはポルトガル語で「月」を意味する単語です。ポルトガル語なのかと言うと、Luaを開発したのが、ブラジルのだからです。ブラジルではポルトガル語が話されています。Luaを単体で使ってみようそれでは、Luaを単体で使ってみましょう。Windowsがあり、こちらからダウンロードできます。lua』でインストールできます。簡単なプログラムを作ってみましょう。World!と表示するだけのプログラムです。World!]]print命令で標準出力へ文字列を出力します。利用することができます。これらは複数行に渡る文字列を記述するのにとても便利です。プログラムを実行するには、コマンドラインから以下のように実行します。上記のプログラムを「hello.lua」という名前で保存した場合です。hello.luaLuaでFizzBuzz問題を解く本連載でいつも作っている、FizzBuzz問題を解くプログラムを作ってみましょう。FizzBuzz問題とは以下のようなものです。1から100までの数を出力するプログラムを書いてください。3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」と表示してください。3と5の倍数の時は「FizzBuzz」と表示してください。以下を「fizzbuzz.lua」という名前で保存します。fizzbuzz.lua』と実行するとプログラムを実行できます。FizzBuzzを実行したところプログラムを確認してみましょう。Luaではコメントは「--」から改行までです。プログラムの(*1)の部分では、Fizz、Buzzを判定する関数を定義しています。end』のようにします。プログラムの(*2)の部分では、(*1)で定義した関数を利用して、FizzBuzz判定を行って文字列を返します。(*3)の部分では、for構文を利用して1から100まで繰り返しfizzbuzz関数を実行します。まとめ以上、簡単にLuaについて紹介しました。今回、簡単なプログラムを紹介しましたが、Luaは少し癖があるものの可読性の高いプログラムを記述できることが分かったのではないでしょうか。Luaだけで使うこともできますが、自作アプリに手軽に組み込んで使えるのがLuaの魅力です。小粒で高速なLuaはこれからも、アプリに組み込まれて使われていくことでしょう。くじらはんどにて、プログラミングの楽しさを伝える活動をしている。テキスト音楽「サクラ」など。※本記事は掲載時点の情報であり、最新のものとは異なる場合があります。Corporation。