Project Euler に数少ない D 言語派として参戦してみたのだが、早速必要になったので作ってみた。
class Fibonacci(T){ private T _current; private T _next; private bool _firsttime; this(T first, T second){ _current = first; _next = second; _firsttime = true; } T next(){ if(!_firsttime){ auto tmp = _next + _current; _current = _next; _next = tmp; } else{ _firsttime = false; } return _current; } }
なんかダサい。