sample-code: Add some sample Conlang programs :D
This commit is contained in:
parent
c1c834701a
commit
c3e02d21ad
15
sample-code/fibonacci.cl
Normal file
15
sample-code/fibonacci.cl
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
// Calculate Fibonacci numbers
|
||||||
|
|
||||||
|
fn main() -> i128 {
|
||||||
|
print("fib(10):");
|
||||||
|
fib(10)
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Implements the classic recursive definition of fib()
|
||||||
|
fn fib(a: i128) -> i128 {
|
||||||
|
if a > 1 {
|
||||||
|
fib(a - 1) + fib(a - 2)
|
||||||
|
} else {
|
||||||
|
1
|
||||||
|
}
|
||||||
|
}
|
20
sample-code/fizzbuzz.cl
Normal file
20
sample-code/fizzbuzz.cl
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
// FizzBuzz, using the unstable variadic-`print` builtin
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
fizz_buzz(10, 20)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Outputs FizzBuzz for numbers between `start` and `end`, inclusive
|
||||||
|
fn fizz_buzz(start: i128, end: i128) {
|
||||||
|
for x in start..=end {
|
||||||
|
print(if x % 15 == 0 {
|
||||||
|
"FizzBuzz"
|
||||||
|
} else if 0 == x % 3 {
|
||||||
|
"Fizz"
|
||||||
|
} else if x % 5 == 0 {
|
||||||
|
"Buzz"
|
||||||
|
} else {
|
||||||
|
x
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user