cwchen icon

[Perl 6] Stateful subroutine demo.

cwchen | PRO | 11/16/17 03:12:04 AM UTC | 0 ⭐ | 11855 👁️ | Never ⏰ | []
Perl 6 |

0 B

|

None

|

0 👍

/

0 👎

sub fib(Int $n where $n >= 0) {
    state %cache = 0 => 0, 1 => 1;
    
    if %cache{$n}:exists {
        return %cache{$n};
    }
    
    my $out = fib($n - 1) + fib($n - 2);
    %cache{$n} = $out;
    
    $out;
}
 
fib(10) == 55 or die "Wrong number";

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎