绘制给定的自然数

时间:2014-10-09 12:41:13

标签: ruby

我正在尝试创建一个给定特定自然数的函数,它应该被打印为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

但我很快发现这不起作用,因为它一次打印每个数字,而应该一次打印每一行以防止换行。

老实说,我不知道如何做到这一点,任何想法?

1 个答案:

答案 0 :(得分:0)

您可以在4或5个数组的数组中断开变量$numbers,然后更改函数ascii以逐个打印每个细分。我猜你可以尝试一下。