Data update

This commit is contained in:
Ingy döt Net 2024-03-06 22:25:12 -08:00
parent ed705008a8
commit 0df55f9f24
2196 changed files with 32999 additions and 3075 deletions

View file

@ -2,21 +2,18 @@
# This program has multiple implementations of "fizzbuzz".
# usage: ys fizzbuzz.ys [<count>] [<fizzbuzz-fn-#>]
# usage: yamlscript 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"
defn main(count=100 impl=1):
fizzbuzz =: "fizzbuzz-$impl"
when-not ENV."YS_TEST":
when-not ENV.'YS_TEST':
say: "Running function '$fizzbuzz' with count=$count"
function =: resolve(symbol(fizzbuzz))
function =: resolve(fizzbuzz.symbol())
result =: function(count)
mapv say: result
@ -27,33 +24,32 @@ defn main(&[count impl]):
defn fizzbuzz-1(n):
map:
fn [x]:
fn(x):
cond:
zero?(mod(x 15)) "FizzBuzz"
zero?(mod(x 5)) "Buzz"
zero?(mod(x 3)) "Fizz"
:else x
=>: (1 .. n)
zero?(x % 15): 'FizzBuzz'
zero?(x % 5): 'Buzz'
zero?(x % 3): 'Fizz'
=>: x
=>: 1 .. n
defn fizzbuzz-2(n):
loop [i 1, l []]:
if (i > n):
=>: l
recur:
inc: i
recur inc(i):
conj l:
cond:
zero?(mod(i 15)) "FizzBuzz"
zero?(mod(i 5)) "Buzz"
zero?(mod(i 3)) "Fizz"
:else i
zero?(i % 15): 'FizzBuzz'
zero?(i % 5): 'Buzz'
zero?(i % 3): 'Fizz'
=>: i
defn fizzbuzz-3(n):
map:
fn [x]:
fn(x):
s =:
str:
when zero?(mod(x 3)): "Fizz"
when zero?(mod(x 5)): "Buzz"
when zero?(x % 3): 'Fizz'
=>: (zero?(x % 5) && 'Buzz') || nil
if empty?(s): x s
rng: 1, n
rng: 1 n