Go

うっかり、オレオレ grep (seek)を書いてしまった。

go

先日、while( <> ){ } 的なものの Go 版ライブラリ argfを書いてみたわけだけれども、そのサンプルとして 簡単な grep (seek)を書いてみた。 https://github.com/zetamatta/experimental/tree/master/seek (また、例によって、実験用レポジトリ experimental…

while( <> ){…} みたいなことを Go で

go

UNIX風のテキストファイルフィルターを書くのに便利なように Perl には while( <> ){ print $_ } という構文がある。これと同じような手軽さで Go でもフィルターを書くためのライブラリ argf を書いてみた。 package main import ( "fmt" "os" "github.com/…

Go言語についての3つくらいの誤解

go go

以下、自分の思い込みもあるとは思うが、あまり気にしないで書いてみる。 Goは短く書くための言語ではない 短く書けるようにした結果、落とし穴が発生したり、 読みにくくなったり誤解が生じる余地があるならば、 そのような書き方は排除されている。 貴方が…

PowerShell で書く、Go言語プログラムのリリース管理的なアレ(1)目次

NYAGOS は 4.2.1 まではバッチファイルで、以下の作業を行っていた。 実行ファイルの作成 バージョン文字列の取得 リリース(make release)の時はテキストファイル(Misc\version.txt) スナップショット(引数なし make)の時は git describe --tags を使用 バ…

GoのEnum表現は、go:generate + stringer の出番?

go

Go の Enum 表現 - Qiita 主旨が違うかもしれないんだけど、そういうのは go:generate + stringer の出番と違うかなと思った。 package main import "fmt" type SkuNameEnum int //go:generate stringer -type=SkuNameEnum const ( Free SkuNameEnum = iota …

expect for Command Prompt by GopherLua

コマンドプロンプト向けの expect を Go 言語で作った。 https://github.com/zetamatta/expect 特徴 スクリプトは Lua で書く。GopherLua を使ったので、lua53.dll は不要 画面のプロンプトを待つ except() 関数は、本家だと標準出力・標準エラーを監視する…

import を全て絶対パスにした

こんな感じに - "../completion" - "../shell" + "github.com/zetamatta/nyagos/completion" + "github.com/zetamatta/nyagos/shell" これにより: ソースを GOPATH 内に置けなかった go get github.com/zetamatta/nyagos で全ソースをダウンロードできなか…

Go for Windows で子プロセスに二重引用符を引数でそのまま渡したい時

問題の症状 親プロセスのソース: // exec1.go package main import ( "os" "os/exec" ) func main() { c := exec.Command("foo", `"<BAR>"`) c.Stdout = os.Stdout c.Stderr = os.Stderr c.Stdin = os.Stdin c.Run() } 子プロセスのソース(バッチファイル): @</bar>…

Goで、そのうち使ってみたいライブラリ・ツールリスト

Go

Gigue is a minimal scheme interpriter written in Go Lispインタープリタ(紹介記事:Goで小さなScheme、Gigueを実装しました) mattn/anko: Scriptable interpreter written in golang anko という Go ライクな文法のインタープリタ mattn/go-mastodon: m…