Data update

This commit is contained in:
Ingy döt Net 2023-12-16 21:33:55 -08:00
parent 35bcdeebf8
commit 74c69a0df6
2427 changed files with 31826 additions and 3468 deletions

View file

@ -1,9 +0,0 @@
map(say):
map:
- fn (x):
s =:
str:
- (zero? mod(x 3)) ?: "Fizz"
- (zero? mod(x 5)) ?: "Buzz"
if (empty? s): x, s
- (1 .. 100)

View file

@ -1,9 +0,0 @@
map(say):
map:
- fn (x):
???:
zero?(mod(x 15)) : "FizzBuzz"
zero?(mod(x 5)) : "Buzz"
zero?(mod(x 3)) : "Fizz"
:else: x
- (1 .. 100)

View file

@ -1,13 +0,0 @@
map(say):
loop [i 1, l []]:
if (i > 100):
- l
- ^^^:
- inc(i)
- conj:
- l
- ???:
zero?(mod(i 15)) : "FizzBuzz"
zero?(mod(i 5)) : "Buzz"
zero?(mod(i 3)) : "Fizz"
:else: i

View file

@ -0,0 +1,59 @@
#!/usr/bin/env ys-0
# This program has multiple implementations of "fizzbuzz".
# usage: ys fizzbuzz.ys [<count>] [<fizzbuzz-fn-#>]
# The main function runs a certain requested fizzbuzz implementation function
# for a certain requested number (default is 100).
defn main(&[count impl]):
count =: count || 100
impl =:
str: impl || "1"
fizzbuzz =: "fizzbuzz-$impl"
when-not ENV."YS_TEST":
say: "Running function '$fizzbuzz' with count=$count"
function =: resolve(symbol(fizzbuzz))
result =: function(count)
mapv say: result
# These implementation functions were adapted from
# https://rosettacode.org/wiki/FizzBuzz#Clojure
defn fizzbuzz-1(n):
map:
fn [x]:
cond:
zero?(mod(x 15)) "FizzBuzz"
zero?(mod(x 5)) "Buzz"
zero?(mod(x 3)) "Fizz"
:else x
=>: (1 .. n)
defn fizzbuzz-2(n):
loop [i 1, l []]:
if (i > n):
=>: l
recur:
inc: i
conj l:
cond:
zero?(mod(i 15)) "FizzBuzz"
zero?(mod(i 5)) "Buzz"
zero?(mod(i 3)) "Fizz"
:else i
defn fizzbuzz-3(n):
map:
fn [x]:
s =:
str:
when zero?(mod(x 3)): "Fizz"
when zero?(mod(x 5)): "Buzz"
if empty?(s): x s
rng: 1, n