class PostCallbacks < XML::SAX::Document
test = "";
out = File.open("output.txt","w");
def start_element(element = "", attributes = [])
@out << element
end
end
给出错误:undefined method
&lt;&lt;'为零:NilClass`
为什么我不能这样写文件?
答案 0 :(得分:0)
试试这个:
class PostCallbacks < XML::SAX::Document
test = "";
def initialize
@out = File.open("output.txt","w");
end
def start_element(element = "", attributes = [])
@out << element
end
end
您收到的错误告诉您@out
未正确初始化。执行您尝试执行的操作的最安全方法是在构造函数中初始化实例变量@out
,也就是说,initialize
方法。
当然,更好的方法是将输出文件的名称传递给构造函数,而不是硬编码。