我正在尝试创建一个给定特定自然数的函数,它应该被打印为ASCII艺术数字。
如果我打电话给ascii(50)
,我们会说:
@@@@@ @@@@@
@ @ @
@@@@@ @ @
@ @ @
@@@@@ @@@@@
我这样做了:
$numbers = {
0 => "@@@@\n@ @\n@ @\n@ @\n@@@@\n",
1 => " @\n @@\n @ @\n @\n @\n"
}
def ascii n
n.to_s.each_char { |chr| puts $numbers[chr.to_i] }
end
ascii 100
但我很快发现这不起作用,因为它一次打印每个数字,而应该一次打印每一行以防止换行。
老实说,我不知道如何做到这一点,任何想法?
答案 0 :(得分:0)
您可以在4或5个数组的数组中断开变量$numbers
,然后更改函数ascii
以逐个打印每个细分。我猜你可以尝试一下。