是否有gem或库来获取ruby 1.9方法,比如
[1, 2, 3].combination(2)
[1, 2, 3].permutation(2)
[1, 2, 3].product([1, 2, 3])
[1, 2, 3, 4, 5].cycle
最佳答案
这正是我的gembackports
的目标。
它用纯ruby实现了ruby 1.8.7的所有新特性,以及ruby 1.9.x和2.0的许多新特性。这当然包括#combination
、#permutation
、#product
和#cycle
。
例如,您可以:
require 'backports/1.8.7/array/combination'
[1, 2, 3].combination(2) # => works, even in Ruby 1.8.6
backports
中的实现通过了大多数RubySpecs(这不是facets
的情况),以保证不存在兼容性问题。