是否有寶石或庫來獲得類似於Ruby,Ruby 1.9的方法,紅寶石1.8.6
[1, 2, 3].combination(2)
[1, 2, 3].permutation(2)
[1, 2, 3].product([1, 2, 3])
[1, 2, 3, 4, 5].cycle
是否有寶石或庫來獲得類似於Ruby,Ruby 1.9的方法,紅寶石1.8.6
[1, 2, 3].combination(2)
[1, 2, 3].permutation(2)
[1, 2, 3].product([1, 2, 3])
[1, 2, 3, 4, 5].cycle
1.9方法你可以嘗試紅寶石面的1.8.x的版本(http://facets.rubyforge.org/)。方面已經變得有點混亂(請注意網站上的404),但我已經安裝了舊版本的gem(1.8.54),其中有一些標準前的變化。
> gem install --version=1.8.54 facets
然後:
gem 'facets', "~>1.8"
require 'enumerator'
require 'facets/core/enumerable/cartesian_product'
require 'facets/core/enumerable/permutation'
require 'facets/core/enumerable/each_combination'
[1, 2, 3].enum_for(:each_combination,2).to_a # note - only each form is available
[1, 2, 3].permutation(2)
[1, 2, 3].cartesian_product([1, 2, 3]) # note - rename
# Can't find .cycle equivalent after a quick search, maybe nothing there
您可能需要別名一些方法來獲取代碼的兼容性。
對不起,它不是很好。
我認爲你的意思是1.8.6,這些工作在1.8.7 – BaroqueBobcat 2009-07-19 18:32:59
正好 因爲所有的服務器都有1.8.6,我無法更新所有的紅寶石 – tig 2009-07-19 20:50:24
有點像python'從未來的進口真棒特徵`? – 2010-02-11 00:21:24