fizzbuzz2
さっきのは大きい数でfizzbuzzすると表示が切れてしまっていたので、表示用関数をつくってみた。
さらに表示の関係でlistの中身を全部文字列にした。
#!/opt/local/bin/escript main(_)-> putList(lists:reverse(fizzbuzz(3000))). fizzbuzz(0) -> []; fizzbuzz(X) when X rem 3 =:= 0, X rem 5 =:= 0 -> ['FizzBuzz'|fizzbuzz(X-1)]; fizzbuzz(X) when X rem 3 =:= 0 -> ['Fizz'|fizzbuzz(X-1)]; fizzbuzz(X) when X rem 5 =:= 0 -> ['Buzz'|fizzbuzz(X-1)]; fizzbuzz(X) -> [erlang:integer_to_list(X)|fizzbuzz(X-1)]. putList([])-> io:format("~n"); putList( [Head|Tail]) -> io:format("~s ",[Head]), putList(Tail).