首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >类之外的类/调用方法的未定义方法

类之外的类/调用方法的未定义方法
EN

Stack Overflow用户
提问于 2015-02-24 21:34:09
回答 1查看 103关注 0票数 0
代码语言:javascript
运行
复制
class Computer_create

  public
  def initialize(filename)
    @@files = []
    @filename = filename
  end

  public
  def create(filename)
    @@files << filename
    puts "File: #{filename} has been created"
  end

  public
  def list
    return @@files
  end
end

file_1 = Computer_create.new("FileTest")
file_1.create("FileTest")

Computer_create.list

我只是尝试创建一个简单的数据库,它可以创建文件,并将它们存储在数组中,并将它们存储在散列中。但是每次我尝试我的代码时,它都会给我这样的信息:

"computer_create.rb:24:in <top (required)>': undefined method**list‘for Computer_create:Class (NoMethodError)"**

我想做的是:通过FileTest创建一个名为file_1的文件,然后列出@@files中的所有文件,但是它似乎不起作用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-24 21:38:00

错误消息完全正确;该类没有list方法。

对您已经创建的list实例调用Computer_create,例如,

代码语言:javascript
运行
复制
file_1.list

换句话说,您如何正确地调用另一个实例方法file_1.create

你也在用@@ .不寻常的方式。据我所知,这些变量是实例变量,只需要一个@

不相关,但是把public放在每一种公共方法前面是很吵的,也是不必要的。实际上,我要说的是,只有一次将private放在私有方法集合的前面。

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

https://stackoverflow.com/questions/28706770

复制
相关文章

相似问题

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