Rebol3 Code Examplex
Fibonacci sequence
Generate the Fibonacci series.
Rebol [
title: "Rosetta code: Fibonacci sequence"
file: %Fibonacci_sequence.r3
url: https://rosettacode.org/wiki/Fibonacci_sequence
]
fibonacci: function/with [
{Return the Nth Fibonacci number using iterative state advancement.
Uses a shared block to swap fn and fn-1 in a single expression.}
number [integer!] "which Fibonacci number to compute (0-indexed)"
][
fn-1: 0 ;; F(0)
fn: 1 ;; F(1)
loop number advance-fibonacci
][
fn: fn-1: 0
advance-fibonacci: [ fn: fn-1 + fn-1: fn ] ;; simultaneously: new fn = old fn + old fn-1
]
probe collect [repeat i 18 [keep fibonacci i]]