ruby:排序符号数组

时间:2010-11-09 02:08:27

标签: ruby-on-rails ruby sorting symbols

因为符号不响应< => sort使用的方法,有没有人有一种技术来排序符号数组?有兴趣看到其他一些想法。

3 个答案:

答案 0 :(得分:16)

好吧,symbols.sort_by {|sym| sym.to_s}有效。

同样在1.9符号回复<=>,所以你可以symbols.sort

答案 1 :(得分:5)

如果您想要处理旧红宝石,就好像它们是1.9,您可以定义&lt; =&gt;在符号上

class Symbol
  include Comparable

  def <=>(other)
    self.to_s <=> other.to_s
  end
end

答案 2 :(得分:2)

您可以使用backports gem:

require 'rubygems'
require 'backports/1.9.1/symbol/comparison'
[:a, :d, :c, :b].sort
# => [:a, :b, :c, :d]