以下代码可以在Ruby 1.8.7中正常工作,但在1.8.6中不行。我可以使用什么替代方法来解决这个问题?x = [3,4,5,6,7,78,4,3,2,5,5,3] x.count(3) => 3 由于在1.8.6版本的数组中没有count方法,所以我遇到了这个错误。这个版本中是否有类似的方法?
作为一般提示:有一个非常酷的backports库,由Marc-André Lafortune开发,它试图在纯粹的、跨1.8-1.9兼容的Ruby中实现尽可能多的Ruby 1.8.7、1.8.8(即Subversion存储库中1_8分支的最新版本)、1.9.1和1.9.2标准库以及一些来自ActiveSupport的选择性方法。因此,如果您只是这样做:require 'backports' 它可以将你的 Ruby 1.8.6、1.8.7 或者 1.9.1 转化为尽可能接近 Ruby 1.9.2 的状态,而不需要降级到 C 或者违背向后兼容性。 声明:我自己并没有使用过它,因为我不认为使用一个过时的 Ruby 版本有意义。
find_all
是select
的别名 - 或者也可以说select
是find_all
的别名。无论如何,在这里两者都能很好地工作。 - Telemachus