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中的所有文件,但是它似乎不起作用。
发布于 2015-02-24 21:38:00
错误消息完全正确;该类没有list方法。
对您已经创建的list实例调用Computer_create,例如,
file_1.list换句话说,您如何正确地调用另一个实例方法file_1.create。
你也在用@@ .不寻常的方式。据我所知,这些变量是实例变量,只需要一个@。
不相关,但是把public放在每一种公共方法前面是很吵的,也是不必要的。实际上,我要说的是,只有一次将private放在私有方法集合的前面。
https://stackoverflow.com/questions/28706770
复制相似问题