D言語

いろいろ

16日のDBCと unittest の件は解決。 DBC の方は、in ブロック、body ブロック 含め、{}でかこってしまっていたため、外側の{}が body ブロックと解釈され、「body ブロックに in を書いちゃいかんよ」とコンパイラからしかられていた。(恥) unittest …

文字列クラス

大文字小文字を区別しない文字列クラスを作ってみた。 class istring { char value; this(char value) { this.value = value.dup; } int opEquals(istring rhs) { return icmp(value, rhs.value) == 0; } int opEquals(char rhs) { return icmp(value, rhs) …

printf

なんかDって、新しいのと古いのが共存しているのが面白い。 GCサポートしているのに、delete が残っているし。 極めつけは printf か。 でも型安全でないのは、ヤなので、すべての class に toString() を 再定義し、 writefln("obj = " ~ obj.toString); と…

unittest と DBC

最近D言語をいぢっているが、class に unittest を記述しているのに動かない。 DBC は in { 〜 } と書いておくとコンパイルエラーになってしまう。 (何故だ?)C++ In Depth シリーズを読むのが趣味だったのだが、D言語のスペックを知ってから読む気がなく…