最近,我突然产生了可怕的想法Integer.count
在Ruby中,从循环开始0
,去n-1
,同时与Facebook的工程困惑的播放.我做了一个肮脏的修复,在开头添加一个块变量,以便它从一个开始.
有更漂亮的方式吗?
例:
10.times do |n|
n += 1
puts n
end #=> 012345789
Run Code Online (Sandbox Code Playgroud)
the*_*Man 92
Ruby支持多种计数和循环方式:
1.upto(10) do |i|
puts i
end
>> 1.upto(10) do |i|
> puts i
| end #=> 1
1
2
3
4
5
6
7
8
9
10
Run Code Online (Sandbox Code Playgroud)
还有一个允许你以步长值递增的step
代替upto
:
>> 1.step(10,2) { |i| puts i } #=> 1
1
3
5
7
9
Run Code Online (Sandbox Code Playgroud)
mu *_*ort 25
你可以使用一个范围:
(1..10).each { |i| puts i }
Run Code Online (Sandbox Code Playgroud)
范围使您可以完全控制起始索引和结束索引(只要您想从较低的值转到较高的值).
尝试
(1..10).each do |i|
# ... i goes from 1 to 10
end
Run Code Online (Sandbox Code Playgroud)
代替.当重要的价值时,它也更容易阅读i
.
归档时间: |
|
查看次数: |
36124 次 |
最近记录: |