D Recurrences

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Thu Jun 9 08:40:01 PDT 2011


On 6/9/11 10:32 AM, Ben Grabham wrote:
> On 09/06/11 16:19, Ben Grabham wrote:
>> Hey,
>>
>> Shouldn't both these programs output the fibonnacci numbers? Only the
>> first one does.
>>
>> import std.range;
>> import std.stdio;
>> int main() {
>> auto a = recurrence!("a[n-1] + a[n-2]")(0,1);
>> int i = 0;
>> foreach(int n; a) {
>> if(i++ > 20) break;
>> writefln("%d", n);
>> }
>> return 0;
>> }
>>
>>
>>
>> import std.range;
>> import std.stdio;
>> int main() {
>> auto a = recurrence!("a[n-1] + (n < 2 ? 0 : a[n-2])")(1);
>> int i = 0;
>> foreach(int n; a) {
>> if(i++ > 20) break;
>> writefln("%d", n);
>> }
>> return 0;
>> }
>
> Also, is there a takeWhile function?
> I can't find one in the documents...

until?

Andrei


More information about the Digitalmars-d mailing list