Ruby:访问初始化内部方法的返回值

时间:2013-02-11 09:01:41

标签: ruby methods

我正在尝试访问

的返回值
 def entries
   return lang # lang is a hash
  end

里面

def initialize
    @lang = Hash.new
    return entries
  end

但它返回一个空哈希。

在代码的最后,我有

@query = Book.new
@query.add('sea')
@query.include?("sea")

如何获取存储的值。我可以在include?本身上致电@query。因为现在它给了我一个未定义的方法错误。

但是当我这样做时 -

@query = Book.new
@query.add('sea')
@query.entries.include?("sea")

它返回true。

感谢。

1 个答案:

答案 0 :(得分:2)

事情是Book.new不会返回条目。它总是返回一个书籍实例。您可以覆盖新方法,但无法访问图书实例。您最好的选择是将include方法委托给条目。