2015-12-24 43 views

回答

2
5.downto(1).each{|n| puts ("*" * n).ljust(5)} 
1.upto(5).each{|n| puts ("*" * n).rjust(5)} 
+0

谢谢, 如何做for循环条件相同? – sudhakaranR87

+0

'each'迭代器是一个循环。或者你想用'loop'吗?这不是Rubyish。 – sawa

+0

是的我想要做的循环 – sudhakaranR87

2

你可以使用While循环打印模式

n = 5 
    while n >= 1 
     puts "* " * n 
     n = n - 1 
    end 

* * * * * 
* * * * 
* * * 
* * 
* 

n = 1 
while n <= 5 
    puts ("* " * n).rjust(10) 
    n += 1 
end 

     * 
     * * 
    * * * 
    * * * * 
* * * * * 

+0

@ sudhakaranR87有很多方法可以做同样的事情,但为此你需要了解Ruby中的方法。但在假设使用循环很容易知道究竟是什么在头脑下作为一个初学者。 – VKatz

+0

感谢vinay, 我只是想了解这个背后的公式...这个语言的新编程甚至编程 – sudhakaranR87

+0

@ sudhakaranR87它没关系;即使我们也像你一样通过了同一个舞台。但我会说,首先尝试在基本循环(你在学校时间学到的)中实现,并且你也可以使用其他ruby方法。 – VKatz