pockestrap

Programmer's memo

最近作ったわりとどーでもいいもの3つ

気がついたらどーでもよいものを3つほど作っていたので、まとめてブログに書くことにしました。

hex

github.com

hex です。名前の通り、8進数です。

go getでインストールできます。

go get github.com/pocke/hex

以下のようにコマンドラインツールとして使います。

$ hex 255         # => FF
$ hex -reverse FF # => 255

単に8進数と10進数を変換するだけのコマンドです。

ascii

github.com

ascii です。

go getでインストールできます。

go get github.com/pocke/ascii

これもコマンドラインツールとして使います。

$ ascii 65         # => A
$ ascii -reverse A # => 65

薄々感づいている方もいるかもしれませんが、ASCIIコードと文字を変換するだけのコマンドです。

これもhexも、ディスプレイとバイナリでおしゃべりしてたら欲しくなったので作りました。

slot

github.com

slot です。

go getでインストールできます。

go get github.com/pocke/slot/...

コマンドラインツールとして使えます。

$ slot hoge
# => hegeeghegheggegggeehgohhhoeogeggehehoohgeegggghogohoghhoghoeggghgeghhheoogeoheohoge
#    83回で hoge が揃いました!
$ slot ho ge fu ga
# => hogahogegagafugahogefuga
#    12回で hogefuga が揃いました!

なにも考えなくても「n回でXXXが揃いました!」を作れる便利コマンドです。便利ですね。

また、go言語のライブラリとして使用することも出来ます。

s := slot.New([]string{"h", "o", "g", "e"}, os.Stdout)
i := s.Start()
fmt.Println()
fmt.Printf("%d回でhogeが揃いました!\n", i)

こんな感じ。たった4行で実装できてしまいました。めっちゃ便利ですね。

そして、はやぶささんがVimScriptでおんなじものを実装してました。はやぶささんすごい。