0
A
回答
3
class Array
def squeeze(n, &p)
p = Proc.new {|xs| xs.join} unless p
arr = self[0..n-2]
arr << p.call(self[n-1..-1])
end
end
a = ['a', 'b', 'c', 'd', 'e']
a.squeeze(3) # => ["a", "b", "cde"]
它需要邊界檢查,但你的想法。請注意,「合併」功能可以作爲一個塊參數:
[1, 2, 3, 4].squeeze(3) {|xs| xs.inject {|acc,x| acc+x}} # => [1, 2, 7]
+0
這很好,在Ruby Array類中沒有本地實現這樣做,我以前看到過這樣的東西,但無法再找到它。 – Dejan 2010-12-21 23:58:54
6
如果你知道的元素只是一個個字符的字符串,你可以這樣做:
a.join.split '', 3
否則:
a[0..1] + [a[2..-1].join]
或許:
a[0..1] << a[2..-1].join
+0
對於#1 +1。好看又簡潔,沒有視覺噪音。 – 2010-12-21 02:52:55
相關問題
- 1. ruby返回固定數量的元素在一定的順序
- 2. Java的固定數組中的元素數量
- 3. 如何加數組元素在Ruby中
- 4. 如何爲固定行數的文本設置元素高度
- 5. 將變量設置爲數組元素
- 6. 如何確定數組中定義的元素的數量?
- 7. 如何在數組中保留一定數量的元素?
- 8. 如何在elisp中設置多維數組中的元素
- 9. Python中元素的數量設置
- 10. Javascript,鞏固數組元素
- 11. 如何設置div元素的位置固定和相對?
- 12. 如何在JLabel數組中設置元素的文本?
- 13. 如何在IDA Pro中設置數組元素的大小?
- 14. 如何用特定算法設置數組的元素?
- 15. 如何確定數組引用中元素的數量?
- 16. 如何將元素的數量在C++中的整數數組?
- 17. 如何確定boost.preprocessor元組中的元素數量?
- 18. 設置數組方法以接受固定數量?
- 19. 如何將元素放置在DIV中的固定位置
- 20. 如何在固定元素上設置IntroJS步驟?
- 21. 如何指定數組中的元素?
- 22. 如何在ruby中交錯數組中的元素?
- 23. 在xml文件中一次遍歷固定數量的元素。 python元素樹
- 24. Ruby訪問數組元素
- 25. 如何設置顯示內聯Div元素的固定寬度?
- 26. 如何設置固定數量的刻度,儘管日期範圍的數量
- 27. 我如何從哈希在Ruby中數組的獨特元素?
- 28. C中數組中元素的數量
- 29. 如何創建和訪問設置包中的數組元素
- 30. 設置元素的數組不在另一個數組
你能澄清你的問題嗎?你是說在你的例子中,第3和第4個元素是連接的嗎? – Dogweather 2010-12-21 02:08:56
是的,它們是連接的,因爲我減少了數組中元素的數量。 – Dejan 2010-12-21 22:46:53