以下片段来自Rails代码

  def rescue_from(*klasses, &block)
    options = klasses.extract_options!

    unless options.has_key?(:with)
      if block_given?
        options[:with] = block
      else
        raise ArgumentError, "Need a handler. Supply an options hash that has a :with key as the last argument."
      end
    end

    klasses.each do |klass|
      key = if klass.is_a?(Class) && klass <= Exception
        klass.name
      elsif klass.is_a?(String)
        klass
      else
        raise ArgumentError, "#{klass} is neither an Exception nor a String"
      end

      # put the new handler at the end because the list is read in reverse
      self.rescue_handlers += [[key, options[:with]]]
    end
  end
end

注意运算符
那是什么?

最佳答案

有关模块(以及类)公开的所有比较运算符的文档,请参见http://ruby-doc.org/core/classes/Module.html#M001669

在这种情况下:
“如果mod是other的子类或与other相同,则返回true。如果两者之间没有关系,则返回nil。(从类定义的角度考虑这种关系:“class A

关于ruby - Ruby类上的<=运算符是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3321325/

10-13 04:52