寻找关于这个红宝石挑战结束的澄清 - 保龄球Ascii艺术

时间:2015-01-06 05:28:07

标签: ruby ascii ascii-art

y=(1..10).map{|i| i.to_s==$*[0]?($*.shift;?0):?.}
4.times{|i| puts (y.pop(4-i)* ' ').center 8 } 

输出:

. . . .
 . . .
  . .
   .

parens内部的* ' '是什么

1 个答案:

答案 0 :(得分:1)

在第一行之后,y是一个像这样的字符串数组:

y=(1..10).map{|i| i.to_s==$*[0]?($*.shift;?0):?.}
# => [".", ".", ".", ".", ".", ".", ".", ".", ".", "."]

Array#*str相当于Array#join(str),它将字符串连接在一起。特别是,* ' '将数组中的字符串与空格连接起来:

y.pop(3)
# => [".", ".", "."]
y.pop(3) * ' '
# => ". . ."
相关问题