...ing logging 4.0

はてなブログに移行しました。D言語の話とかいろいろ。

D言語

唐突にD言語を使いたくなったので,書いてみた(w


//
// はじめてのD言語(5)
//
import std.stream;

int main(char[][] args)
{
IHowMuch[] fruits;
fruits ~= new Apple(100);
fruits ~= new Orange(70);
fruits ~= new Apple(200);
foreach(IHowMuch f; fruits)
{
f.howMuch();
}
return 0;
}

public interface IHowMuch
{
void howMuch();
}

public class Fruit : IHowMuch
{
public this(int inValue)
{
m_value = inValue;
}
public void howMuch()
{
stdout.writeLine( name ~ " is " ~ .toString(m_value) ~ " dollar.");
}
protected int m_value;
protected char[] name() { return "fruit"; }
}

public class Apple : Fruit
{
public this(int inValue)
{
super(inValue);
}
protected char[] name() { return r"apple"; }
}

public class Orange : Fruit
{
public this(int inValue)
{
super(inValue);
}
protected char[] name() { return r"orange"; }
}

まだバージョン1.0になってないので,少し早いのだけど,日経ソフトウェアで紹介されていたからそろそろかなー,と思って遊んでみた.
かなり適用範囲が広い言語なので,期待してるのですが.
どうなることやら?
中間言語に負けずがんばっていただきたい(w
余裕があったら,自分なりにGUIライブラリ書いてみたいなぁ.
Javaのライブラリ参考にして,やれたらいいな.
誰かが先にやるんだろうけど.