General FizzBuzz: Difference between revisions

(Added Arturo implementation)
Line 2,795:
Buzz
</pre>
 
=={{header|Picat}}==
<lang Picat>interactive =>
print("> "),
MaxNum = read_int(),
Map = new_map(),
print("> "),
while (Line = read_line(), Line != "")
[N,V] = split(Line),
Map.put(N.to_int,V),
print("> ")
end,
general_fizzbuzz(MaxNum,Map.to_list.sort),
nl.
 
general_fizzbuzz(N,L) =>
FB = [I.to_string : I in 1..N],
foreach(I in 1..N)
Vs = [V : K=V in L, I mod K == 0].join(''),
if Vs != "" then
FB[I] := Vs
end
end,
println([F : F in FB].join(" ")).</lang>
 
Testing:
<pre>$ echo "106\n3 Fizz\n5 Buzz\n7 Bazz\n" | picat -g interactive general_fizzbuzz.pi</pre>
 
Here's an interactive session:
{{out}}
<pre>> 106
> 3 Fizz
> 5 Buzz
> 7 Baxx
>
1
2
Fizz
4
Buzz
Fizz
Bazz
8
Fizz
Buzz
11
Fizz
13
Bazz
FizzBuzz
16
17
Fizz
19
Buzz
FizzBazz
22
...
Bazz
Fizz
Buzz
101
Fizz
103
104
FizzBuzzBazz
106</pre>
 
 
 
=={{header|PicoLisp}}==
495

edits