Lua
以前もコマンドラインフィルターについて次のような文書を書いたことがあるのですが、説明がほとんどなかったので、改めて解説文書を書いてみました。 Lisp を nyagos のコマンドラインに埋め込む Lua アドオン - 標準愚痴出力 Lisp を nyagos のコマンドラ…
前回、nyagos のコマンドラインに echo $(+ 1 2 (* 3 4)) といった形で、Lisp コードを埋め込めるようにしたわけだが、電卓用途に使う時 echo $ を打つのさえ面倒くさくなった。 コマンドラインが ( で始まっている場合は 全ての行を gmnlisp で評価するよう…
nyagos には、ファイルをゴミ箱へ移動させる trash というコマンドがあります。 実装は Lua で、こんな感じで COM オブジェクトで実現してました。 nyagos.d/trash.lua : if not nyagos then print("This is a script for nyagos not lua.exe") os.exit() en…
yuin/gopher-lua: GopherLua: VM and compiler for Lua in Go Lua 5.1 ☆3600 production used:現行、もっとも使われている処理系。 ほぼフルセット 。ガベコレを Go に頼ってる都合、__gc がサポートされていないので、メモリ以外のリソース管理がつらい(C…
Luaでは「関数のパラメータがテーブルコンストラクター1個の時、関数コールの丸括弧を省略できる」という書式があります。 これはつまり function f(a) for key,val in pairs(a) do print(key.."="..val) end end f( { param1="12345" , param2="abcdef" } …
環境変数を参照する場合は os.getenv が使えるが、設定するための os.setenv 相当のものはない。 が、os.execute で自分自身を呼び出せば、無理やり設定することも可能だ(ただし、起動時のみ) --- LANG=C を設定したい時: if os.getenv("LANG") ~= "C" th…
多分理解されないと思うけど、あの「入力が数字から始まっていたら、即実行中ではなく記憶しておき、runとタイプされると数字順に実行する」という「古代 8bit BASIC」のシステム、 意外とコマンドラインシェルで便利かもね。nyagos の Lua で書いてみたけど…
nyagos内蔵Lua が 5.1 になったので前の 5.3 向けの方法が使えなくなった donyagos.cmd @setlocal & set "ARGS=%*" & nyagos.exe --norc -e "_,_,b=io.input([[%~f0]]):read('*l','*l','*a');assert(loadstring('\n'..b,[[%~f0]]))()" @endlocal & exit /b %…
続・nyagos で lua53.dll のかわりに GopherLua を使おう - Qiitaより転載 続・nyagos で lua53.dll のかわりに GopherLua を使おう 「nyagos で lua53.dll のかわりに GopherLua を使おう - Qiita」の続き: β2 を出しました。 Release 4.3_beta2 · zetamat…
2018/04/25 付け記事:nyagos で lua53.dll のかわりに GopherLua を使おう - Qiitaより転載 nyagos で lua53.dll のかわりに GopherLua を使おう Using GopherLua instead of lua53.dll · Issue #300 · zetamatta/nyagos lua53.dll にはいくつか問題があり…
フォルダー一つだけなら git filter-branch --subdirectory-filter が使えるが、複数の場合はそうもいかない。 複数のフォルダーだけを残すために、Lua スクリプトをさくっと書いた。 function getgitlog(files) local fd = io.popen("git log " .. table.co…
コマンドプロンプト向けの expect を Go 言語で作った。 https://github.com/zetamatta/expect 特徴 スクリプトは Lua で書く。GopherLua を使ったので、lua53.dll は不要 画面のプロンプトを待つ except() 関数は、本家だと標準出力・標準エラーを監視する…