Ruby错误-未定义的局部变量或方法



我有一个包含两个方法的Ruby类。第一个方法打开文件,第二个方法处理从文件中读取的数据。

请注意,这不是我正在处理的原始代码,而是一个演示我遇到的问题的代码。

class Example
  def load_json(filepath)
     require 'json'
     file = File.read(path-to-file)
     file_data = JSON.parse(file)
  end
  def read_data(tag)
    load_json(tag)
    #code to read and work with the data from file_data 
  end
end

当我尝试时,它给了我以下错误:

`file_data': undefined local variable or method `file_data'

将两个函数中的file_data更改为@file_data,使其成为实例变量。如果没有@,它只是函数的局部,当函数退出/返回时,它就超出了作用域。

class Example
  def load_json(filepath)
     require 'json'
     file = File.read(path-to-file)
     @file_data = JSON.parse(file)
  end
  def read_data(tag)
    load_json(tag)
    #code to read and work with the data from @file_data 
  end
end

相关内容

  • 没有找到相关文章

最新更新