如何显示文件

时间:2015-04-26 17:37:16

标签: ruby

我正在尝试显示文件的内容。

class CommonLog
  def initialize(filename)
    @filename = filename        
  end
  def readfile
    text = File.readlines(@filename).map do |line|
      line.split(" ")
      puts text
    end
  end
end

my_file = CommonLog.new("test.log")
puts my_file.readfile

我收到错误没有这样的文件或目录 - test.log“。

1 个答案:

答案 0 :(得分:0)

创建文件。但是,一旦你越过那个文件不存在的错误,你就会做一些不值得的事情。

您正在拆分该行,但不存储或使用该信息。

您正在使用puts来输出文本对象的返回值,但您的问题标题是如何查看内容。

一旦文件存在,您可以puts line输出文件的每一行。

您正在分配文本,并在同一语句中引用它,因此当您text nil时,它就是text。该方法将赋值给文本,但不会被使用。

如果删除块内text的引用,则可以删除join变量的赋值。

最后,如果您只想返回一行数组,或者在readlines方法上使用class CommonLog def initialize(filename) @filename = filename end def readfile File.readlines(@filename) end end my_file = CommonLog.new("test.log") puts my_file.readfile # This actually prints an Array ,则可以删除整个块。

重新设计的版本可能如下所示:

{{1}}

该数组保存文件的内容,puts显示存储在该数组中的该文件的内容。