首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >异常:未定义方法`blacklisted_keywords‘

异常:未定义方法`blacklisted_keywords‘
EN

Stack Overflow用户
提问于 2014-01-20 10:38:51
回答 2查看 49关注 0票数 0

我在类中有以下Ruby代码块:

代码语言:javascript
复制
def self.blacklisted_keywords
  %w(acquista acquistiamo acquisto acquistano compro compriamo comprano)
end

private

def item_valid?
  keywords = blacklisted_keywords
end

为什么我不能调用blacklisted_keywords而没有得到:“未定义的方法`blacklisted_keywords'"?我做错了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-20 10:39:48

因为blacklisted_keywords不是一个实例方法,而是一个类方法。keywords = blacklisted_keywords的意思是将它隐式地看作keywords = self.blacklisted_keywords。这会导致错误,因为它不是实例方法。将keywords = blacklisted_keywords替换为keywords = self.class.blacklisted_keywords

票数 1
EN

Stack Overflow用户

发布于 2014-01-20 10:45:46

按照所提供的答案,如果不需要对关键字进行变异,也许将关键字保持在不变中是有意义的。

代码语言:javascript
复制
class Blah
  BLACKLISTED_KEYWORDS = %w(acquista acquistiamo acquisto acquistano compro compriamo comprano)

  private

  def item_valid?
    keywords = BLACKLISTED_KEYWORDS
  end
end
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21231718

复制
相关文章

相似问题

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