標準愚痴出力

個人的なIT作業ログです。もしかしたら一般的に参考になることが書いているかもしれません(弱気

2018-06-01から1ヶ月間の記事一覧

任意の map[string]~ のキーを全部配列( []string )化してソート

go

map のキーは文字列限定だが、値については任意の型 Ok import ( "reflect" "sort" ) // SortedKeys makes sorted strings' array from keys of the given map whose key's type is string. func SortedKeys(mapInt interface{}) []string { values := refle…

GENESTUB という汎用スタブモジュールを公開しました。

昔作った子プロセスが想定どおり呼ばれているかテストするためのスタブモジュールを MIT ライセンスで公開します。 Windows用ですが、.NET Framework 4.0 以降が必要です。 zetamatta/genestub: Stub module to test the child-process is called as expecte…

内蔵Luaで実行する際、@ で始まる行を無視するよう修正した

nyagos 4.3 で、バッチファイルに Lua を組み込んで実行する際、内蔵Lua が 5.3 から 5.1 になったため、ラベルの文法がなくなって @setlocal & set "ARGS=%*" & nyagos.exe --norc -e "_,_,b=io.input([[%~f0]]):read('*l','*l','*a');assert(loadstring('\…

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 %…

自分のマシンの IP アドレスを列挙するコマンドを作った

localhosts 自分の IP アドレスを表示するだけのコマンド。Go の net ライブラリを使った。 IPv4 アドレス UP している loopback でない キーワードが指定されている時は、そのキーワードがインターフェイス名に含まれたものとする マシンのブート時に以下の…

nyagos豆知識!(じゃじゃーん)- 「cd -h」

「cd -h」とすると、それまでたどったディレクトリが一覧で出るよ。もし「-2 C:\Users\hymko」とか表示されたら「cd -2」でそこへ移動できるよ! <DESKTOP-LGGUCRA:~/go/src/github.com> $ cd -h -3 C:\Users\hymko -2 C:\Users\hymko\go\src\github.com\zetamatta\nyagos -1 C:\Users\hymko\go\sr</desktop-lggucra:~/go/src/github.com>…

静的型付け言語に慣れた開発者が AutoLISP でやったアレコレ

(2018.06.02) 「静的型付け言語に慣れた開発者が貧弱なCAD用 Lispでやったアレコレ」からタイトル変更しました 静的型付け言語になれた身としては、欲しい機能がいろいろなくて、つらたにえん。せめて、CommonLisp だったら、もうちょっと楽なんだろうなぁ(…

バッチファイルで strtok 的な変数の分割切り出し処理

%PATH% の各ディレクトリを一つずつ処理する(ここでは表示するだけ) @echo off setlocal set "PATHS=%PATH%" :loop for /F "tokens=1,* delims=;" %%I in ("%PATHS%") do ( echo %%I set "PATHS=%%J" ) if not "%PATHS%" == "" goto loop endlocal $ strto…

go get でインストールされる実行ファイル置き場をバッチファイルで得る

%GOPATH%\bin と書いてしまいがちだが %GOPATH% が未定義の時 %USERPROFILE%\go が代替として使われる %GOPATH% に複数のディレクトリが登録されている時 最初のディレクトリが使用される ので、一工夫必要だ。 @echo off setlocal if "%GOPATH%" == "" ( se…