PROMPTのカラーコード
PROMPTの設定をしようとしたとき、いつも探すのに時間がかかる上に、すぐに忘れるのでメモ。
/usr/share/zsh/functions/Misc/colors 30 black 40 bg-black 31 red 41 bg-red 32 green 42 bg-green 33 yellow 43 bg-yellow 34 blue 44 bg-blue 35 magenta 45 bg-magenta 36 cyan 46 bg-cyan 37 white 47 bg-white # 38 iso-8316-6 # 48 bg-iso-8316-6 39 default 49 bg-default
Go のセミコロンの扱いが変わった。
09/12/22にリリースされたバージョンで、セミコロンの扱いが変わった。
今までは、セミコロンは、ブロックの末尾と、括弧の後だけ省略OKだったんだけど、
それが、セミコロンなしでもOKになった。*1
大元は、golang-nutsに投稿された以下の提案みたい。
http://groups.google.com/group/golang-nuts/browse_thread/thread/5ee32b588d10f2e9
セミコロン打たなくていいのは、かなりいい感じ。
スムースにかける。
コーディングが早くなる感じがする。
けど、上記のURLでも指摘されているけど、複数行に渡る式で演算子を前置するフォーマットがエラーになるのが、あぅー。
// この書き方はeエラー foo := f1() + f2() + f3() // こう書くのが正解 foo := f1() + f2() + f3()
演算子が前置の方が、自分は見やすいと思っているで、ちょっとなーという感じ。
セミコロンがないから、上の書き方がエラーになるのかと思いきや、セミコロンをつけても、エラー。
なので、以前のバージョンで書いたコードで、前置の演算子があるやつは軒並みコンパイルエラーになる。
そういう人の為に(だと思うけど)、gofmt を -oldparsers オプションを指定して、昔のコードを通すと、セミコロンなしのコードに変換してくれる。
例えば、以下の以前のコンパイラだと問題ないコードを
package main import "fmt" func f1() int { return 1 } func f2() int { return 1 } func f3() int { return 1 } func main() { foo := f1() + f2() + f3(); fmt.Println(foo) }
gofmt -oldparser を通すと、ご丁寧に、演算子を後置してくれる。
package main import "fmt" func f1() int { return 1 } func f2() int { return 1 } func f3() int { return 1 } func main() { foo := f1() + f2() + f3() fmt.Println(foo) }