2006-05-24から1日間の記事一覧

クラス不変条件 invariant

素敵機能の予感。 import std.c.stdio; class Hoge{ void yeah(){ printf("yeah\n"); } invariant{ printf("invariant called\n"); } } void main(){ Hoge hoge = new Hoge(); hoge.yeah(); }実行。 invariant called yeah invariant calledあれ、コンストラ…

auto属性とprintf

auto属性のテスト。 import std.c.stdio; class Hoge{ char[] name; this(char[] n){ name = n; printf("%s constructor called\n", name); } ~this(){ printf("%s destructor called\n", name); } } void main(){ hoge(); printf("main end\n"); } void hog…

解決

なんてことはない。main関数の定義に問題があった。 「void main(){ ... }」の時はreturn文省略化らしい。なるほど。 確か、C++では「void main(){ ... }」は標準じゃなかったと思うけれどDでは合法。 mainの宣言に関してはこの辺 → http://www.kmonos.net/a…

mainのreturn省略

Cはよく覚えてない(多分できない)けどC++ではできたはず。Dじゃダメなのかなあ。

-wスイッチ

C:\>dmd hello.d -w warning - hello.d(3): function hello.main no return at end of functionなるほど。no return at end of functionに関してはこの辺 → http://www.kmonos.net/alang/d/warnings.html

Hello, World

定番。 import std.c.stdio; int main(char[][] arg){ printf("Hello, World.\n"); }コンパイル。 C:\>dmd hello.d C:\dmd\bin\..\..\dm\bin\link.exe hello,,,user32+kernel32/noi; C:\>hello Hello, World. Error: AssertError Failure hello.d(5)エラーだ…

書き忘れ

パスのこと。 多分WindowsXPならシステムのプロパティから詳細設定タブ、環境変数、Pathを適当に弄る。 c:\dmd\bin;c:\dm\bin;多分間違ってない。と思う。

インストール

http://www.kmonos.net/alang/d/dcompiler.html 特に問題なくインストール。嘘。typoはした。 C:\>dmd Digital Mars D Compiler v0.157 Copyright (c) 1999-2006 by Digital Mars written by Walter Bright Documentation: www.digitalmars.com/d/index.html…

ここまでのあらすじ

電車の待ち時間に(田舎だ)本屋で D言語パーフェクトガイド―Windows Linux FreeBSD対応 をうっかり読んでしまったら色々よさげだった。 よしじゃあやろう、何かメモっぽいものもつけよう、そうだはてなのアカウント余ってたな。 ここまで。

心は一つ

00:13 (she) とりあえずphobosはreclsとopenrjがやばい 00:43 (niha) 何であるのかよくわからない 00:44 (she) みんなそう思っている 00:44 (niha) 心は一つ Phobosは不評らしい。Aresが良いらしい。

標準ライブラリ Phobos

火星物語だ!とか思ったら負け。 std.c.stdioのかわりを探してみたけどstd.stdioもstd.streamも何か微妙に見えるなあ… 今日はおしまい。

アクセス保護属性

まずはじめに、5つも必要なんだろうかと思った。うーん。まあいいか。 C++より緩い気がする。Scott Meyerでも降臨してくれればいいんだけれど。 とりあえずここを見ろといわれた → http://www.kmonos.net/wlog/33.php#_2359031128 うん超緩い。そしてclassの…