Ruby数组的each方法使用

realZ 发布于 2014/01/31 22:54
阅读 5K+
收藏 1
七周七语言上的问题,有一个数组包含16个数字,仅用each方法打印数组中的内容,一次打印四个数字。如何实现呢?
加载中
0
Zoker
Zoker
$a=1
(1..16).to_a.each do |i|
    if($a%4 != 0) then
        print i.to_s+" "
        $a+=1
    else
        puts i
        $a+=1
    end
end

条件语句总让用吧,不然似乎没法实现啊,你可以把(1..16)换成数组,为了方便就不写代码生成数组了。

有疑问请追问,如果解决,请设置最佳答案。

下面是运行截图:



Zoker
Zoker
each 也就是个遍历的作用…
realZ
realZ
好吧,谢谢,看来是我想多了……
Zoker
Zoker
回复 @DrZ : 刚刚查了一下,答案都是用了条件语句的。
realZ
realZ
其实我本来就是想问有没有不用条件语句写成一行的实现……
0
sevk
realZ
realZ
其实题目第二问就是用each_slice……
0
清心有福

如果能用each_with_index代替each,代码就简单了:

(11..26).to_a.each_with_index do |n, i|

    print '%4d'%n

    puts if (i+1)%4==0

end

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部