如何在Ruby中创建模式程序?

use*_*932 -4 ruby while-loop

我使用的是Ruby 1.9.3.我做了如下的模式程序:

n = 1
while n <= 5
  n.downto 1 do |i|
    print "* "
  end
  puts
  n += 1
end
Run Code Online (Sandbox Code Playgroud)

以上程序的输出如下:

*
* *
* * * 
* * * *
* * * * *
Run Code Online (Sandbox Code Playgroud)

现在我正在尝试模式程序,如下所示:

        *
      * *
    * * *
  * * * *
* * * * *    
Run Code Online (Sandbox Code Playgroud)

我不知道我该怎么做?

有人可以帮我吗?

谢谢.

Uri*_*ssi 7

你可以使用rjust:

n = 1
while n <= 5
  puts "* " * n
  n += 1
end
* 
* * 
* * * 
* * * * 
* * * * * 

n = 1
while n <= 5
  puts ("* " * n).rjust(10)
  n += 1
end
        * 
      * * 
    * * * 
  * * * * 
* * * * * 
Run Code Online (Sandbox Code Playgroud)

缩短版本将是:

5.times { |i| puts ('* ' * (i+1)) }
Run Code Online (Sandbox Code Playgroud)

5.times { |i| puts ('* ' * (i+1)).rjust(10) }
Run Code Online (Sandbox Code Playgroud)