首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Ruby中,在类方法中,self是类还是实例?

在Ruby中,在类方法中,self是类还是实例?
EN

Stack Overflow用户
提问于 2010-12-04 04:08:57
回答 1查看 12K关注 0票数 18

我知道self是实例方法中的实例。那么,self是类方法中的类吗?例如,下面的代码可以在Rails中运行吗?

代码语言:javascript
复制
class Post < ActiveRecord::Base
  def self.cool_post
    self.find_by_name("cool")
  end
end
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-04 04:13:58

这是正确的。类方法中的self就是类本身。(也在类定义中,比如def self.coolpost中的self。)

你可以很容易地用irb测试这些花边新闻:

代码语言:javascript
复制
class Foo
  def self.bar
    puts self.inspect
  end
end

Foo.bar  # => Foo
票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4349446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档