Ruby语法:'<'除了'小于'

时间:2014-03-12 17:17:35

标签: ruby-on-rails ruby

我正在尝试学习Ruby on Rails并且一直在尝试在我的网站上安装“Devise”宝石以进行授权。在这样做时,我遇到了这段代码:

class User < ActiveRecord::Base
  # Include default devise modules. Others available are:
  # :token_authenticatable, :lockable, :timeoutable, :confirmable and :activatable
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable

  # Setup accessible (or protected) attributes for your model
  attr_accessible :email, :password, :password_confirmation
end

'&lt;'是什么意味着在这种背景下?它在做什么?

6 个答案:

答案 0 :(得分:3)

在此上下文中,

<定义了inheritance类和User类之间的ActiveRecord::Base,其中ActiveRecord::Base是父类,User是孩子班。

答案 1 :(得分:3)

在此上下文中,这是继承运算符,可以使用此示例简单地演示此用法:

class Ancestor
  def meth
    puts "ancestor"
  end
end

class AnotherClass < Ancestor
end

a = AnotherClass.new
a.meth # displays ancestor

这里,AnotherClass类实际上拥有Ancestor类中定义的所有实例方法。

答案 2 :(得分:2)

使用<语法进行子类化。

  class Bar
    def test
      puts 'Testing!'
    end
  end

  class Foo < Bar
  end

现在FooBar的子类,并且所有方法都可用。

答案 3 :(得分:1)

这意味着User继承自ActiveRecord::Base

答案 4 :(得分:0)

理论上,即使在这里,它也意味着less than。 Ruby说,由于User类继承自ActiveRecord::Base并且它是它的子类,所以它小于ActiveRecord::Base

但是,还有其他几个使用它的地方,比如将元素插入数组中。

[1,2,3] << 4 ## [1,2,3,4]

答案 5 :(得分:0)

继承!我也不认为你应该在没有先知道“&lt;”的情况下学习Rails。确实:)