在 ruby 中将文件名作为参数传递


def file_to_array(filename)
my_text = []
File.open(filename, "r").each do |line|
my_text << line
end
my_text
end

你好!我的方法应该在调用时接收文件名,打开文件并将每一行移动到数组中。但是,它在调用时会引发undefined local variable,我假设它与文件名[DOT]ext有关?! 我的调用发生在以下方法中

def clean_array
cleaned = file_to_array(text.txt).map do |element|
element.gsub(/b['s!.\n]*/m, "")
end
cleaned.map! do |el|
el.split(" ")
end
return cleaned.flatten!
#p cleaned
end

文件名应为字符串,因此,用引号传递:

file_to_array("text.txt")
# OR
file_to_array('text.txt')

最新更新