db9025f3a3
- C runtime: bux_float_to_string() for float64 → String conversion
- String.bux: add String_FromFloat, extern decl for bux_float_to_string
- library/std/Fmt.bux: Fmt_Fmt1, Fmt_Fmt2, Fmt_Fmt3, Fmt_FmtInt, Fmt_FmtInt2,
Fmt_FmtFloat, Fmt_FmtBool — positional {0}, {1}, {2} placeholders
- Refactor examples to use Fmt:
factorial.bux, fibonacci.bux, process.bux, os_time.bux
24 lines
475 B
Plaintext
24 lines
475 B
Plaintext
// Fibonacci - Recursive function with while loop
|
|
import Std::Io::{PrintLine};
|
|
import Std::Fmt::{Fmt_Fmt1};
|
|
|
|
func Fibonacci(n: int) -> int {
|
|
if n <= 1 {
|
|
return n;
|
|
}
|
|
return Fibonacci(n - 1) + Fibonacci(n - 2);
|
|
}
|
|
|
|
func Main() -> int {
|
|
PrintLine("Fibonacci sequence:");
|
|
|
|
var i: int = 0;
|
|
while i < 10 {
|
|
let fib: int = Fibonacci(i);
|
|
PrintLine(Fmt_Fmt1("{0}", String_FromInt(fib)));
|
|
i = i + 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|