не в состоянии записать в файл в ruby - PullRequest
0 голосов
/ 27 декабря 2010
class PostCallbacks < XML::SAX::Document
  test = "";
  out = File.open("output.txt","w");
  def start_element(element = "", attributes = [])
      @out << element
  end
end

выдает ошибку: undefined method << 'для nil: NilClass` </p>

почему я не могу записать в файл таким образом?

1 Ответ

0 голосов
/ 27 декабря 2010

Попробуйте это:

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.

Еще лучше, конечно, было бы передать имя выходного файла конструктору, а не жестко его кодировать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...