私有方法`open'调用#<file:arun1.txt>(NoMethodError)</file:arun1.txt>

时间:2013-04-04 05:29:50

标签: ruby

class Arun 
   def arun
    afile=File.new("arun1.txt")
      if afile
       afile.open("arun1.txt","w")
        afile.syswrite("hi from arunkumar.............")
       afile.close()
       afile.open("arun1.txt","r+")
        con=afile.sysread(30)

        puts con
       afile.close()
      else
        puts "can't open"
      end

    end
 end
 a=Arun.new
 a.arun

此处我无法访问arun方法,其显示私有方法open调用#<File:arun1.txt>(NoMethodError)

2 个答案:

答案 0 :(得分:2)

查看Ruby documentstion on File IO

具体来说,为了写入文件只需使用

之类的东西
File.open("arun.txt", 'w') {|f| f.write("hi from arunkumar.............") }

如您的错误所示,open方法不适用于对象。

答案 1 :(得分:0)

在程序开头写下面给出的语句。由于IO是一个类,代表InputOutput,包含所有方法,包括open

需要IO