我只是好奇。Ruby中有「x ... n」的意思是什麼?
Arent下面的代碼片段做同樣的事情?爲什麼有人想用...
而不是..
,wouldnt ..
更容易閱讀?
for x in 1...11
puts x
end
for x in 1..10
puts x
end
很抱歉,如果這是太主觀了,我只是不明白爲什麼我會希望從1 to (n-1)
而不是1 to n
我只是好奇。Ruby中有「x ... n」的意思是什麼?
Arent下面的代碼片段做同樣的事情?爲什麼有人想用...
而不是..
,wouldnt ..
更容易閱讀?
for x in 1...11
puts x
end
for x in 1..10
puts x
end
很抱歉,如果這是太主觀了,我只是不明白爲什麼我會希望從1 to (n-1)
而不是1 to n
10.5
包含在1...11
中,但不包含在1..10
中。
這不是1 to n
與1 to (n - 1)
,它是1 <= x <= n
與1 <= x < m
。
去有時,一些數據結構中的索引形式去0至struct.size() - 1.這是有幫助的,然後有說這句話的方式:
a = ['a','b','c']
for i in 0 ... a.length
puts a[i]
end
將打印'a'
,'b'
,'c'
。它使用..
表格它將打印另外的nil
。
如果您使用n - 1
,那麼如果n
爲0,那麼您將有n - 1
爲-1,該值用於指示數組的末尾。
array[0...0] # Returns no elements
array[0..-1] # Returns all elements
更確切地說,有一個*無限*,它包含在`1 ... 11`而不是在`1..10`,即它們都是數的數量不是`10`更高,但是小於「11」。鑑於兩者之間存在無窮多的差異,我認爲這符合「不做同樣的事」。 – 2011-01-20 05:16:26