NYAGOS で Lua

no extension

前回ConEmu とともに NYAGOS を導入したけど,今回は NYAGOS のセッティングを中心に。

NYAGOS の特徴のひとつに, Lua のエンジンを内蔵し解釈できる点がある。 というか NYAGOS 自身が機能拡張を Lua で実装していて,ユーザも hackable に NYAGOS をカスタマイズできる。

また nyagos.exe-f オプションを付けて起動すると Lua のソースファイルをスクリプトとして実行できる。 たとえば以下のコード hello.lua を以下のように記述し

print "Hello World!"

nyagos.exe で実行すると

C:>nyagos.exe -f hello.lua
Hello World!

となる。

これだけだと大したことはないが, nyagos.exe でスクリプトを実行した場合は NYAGOSLua 拡張が使える。 例えばカレント・フォルダを取得する getwd.lua を以下のように記述し

nyagos.write(nyagos.getwd().."\n")

nyagos.exe で実行すると

C:\Users\username>nyagos.exe -f getwd.lua
C:\Users\username

となる。

Lua 拡張についてはドキュメントを参照するとよいだろう。 特筆すべきは alias 機能で,単純なコマンドの置き換えだけでなく

nyagos.alias.cmdname = function(args) ... end

のような形式で新しい内部コマンドを作成することもできる。

ところで nyagos.exe を普通に起動してプロンプトから ls -oF コマンドでファイルの一覧を表示させてみると,拡張子 .lua のファイルは実行可能ファイルになっていることが分かる1

実際に NYAGOS のプロンプト上で動かしてみよう。

$ hello.lua
Hello World!

おおっ,うまくいった。 これで Lua スクリプトを NYAGOS 上でバッチファイルのように扱うことができる。

さぁて,これでいよいよもって Lua の勉強をしないといけなくなった。 Pascal 系の構文は目が滑るんだよなぁ。

ブックマーク

NYAGOS 作者による解説

Lua の解説

その他


  1. 拡張子 .lua とコマンドの関連付けは NYAGOS をインストールしたフォルダにある _nyagos ファイルに記述されている。 ↩︎

  2. 最近の Git for Windows は bash 関連のコマンドを Git\usr\bin フォルダに集めている。 git コマンドだけが必要なら Git\cmd フォルダにのみパスを通せばよい。 bash を使う場合は Git\bin フォルダにある bash.exe を起動するのが一番安全なようだ。 ↩︎