2012-05-01から1ヶ月間の記事一覧

&&と||は何をやってるか調べてみた

C言語の"&&"と"||"は短絡評価をする演算子と知られています。実際には、どんな感じで評価しているか調べてみました。 // and_or.c #include<stdio.h> int and(int a, int b) { return a && b; } int or(int a, int b) { return a || b; } int main(void) { printf("1&</stdio.h>…

python2.7にしたらunittestにskipが追加されてた

どういうときにテストはスキップすべきでしょうか。多分、pythonのバージョンだとか、OSによって分けるのに使うことは悪いことではないと思います。今回ぼくがskipした理由は、単にすぐに解決できそうにないからというものでした。解決しないからといって、…

有効かどうかわからないキーでmapに値をアクセスする

golangのmapはPythonのdictよりRubyのHashに近くて、無効なキーでアクセスしてもpanicしたりせず、各型の初期値を返すようです。map[string] stringならば、""を返すし、map[string] intなら0です。map[string] *Typeならnil。最後のケースを、次のコードで…

C言語のenum的なことをする

golangでiotaを使うと、0から順に数字を入れてくれます。iotaのカウントはグループ単位なので、')'を抜けたあとは再び0にリセットされます。加えて、"cont ( identifier Type = iota.."とすると、typeが付くようです。それを以下のコードで確認してみました…