我有一个包含两个方法的Ruby类。第一种方法打开文件,第二种方法使用从文件读取的数据。
请注意,这不是我正在处理的原始代码,而是用于演示我遇到的问题。
O(n * log(n))
当我尝试时,它会给我以下错误:
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
我是Ruby初学者。
答案 0 :(得分:0)
在两个函数中将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