как решить эту ошибку ввода / вывода в ruby - PullRequest
0 голосов
/ 10 июля 2010
require 'fileutils.rb'

k=FileUtils.mkdir_p "d:/pptomasdsdr1xks_6b27"

filename = "#{k}""/kddabab"  
extension = ".txt"  
 co=1

  $stdout=File.open("#{filename}#{co}#{extension}" ,'w') 

puts "sachin" 

$stdout.close

puts "amit" 

я получаю ошибку, как

stdout.rb: 14: в write': closed stream (IOError) from stdout.rb:14:in помещает '

я не хочу, чтобы в моем файле была печать amit, поэтому я закрываюфайл, но я получил эту ошибку, помогите мне plzzz

Ответы [ 2 ]

2 голосов
/ 10 июля 2010

Не используйте $stdout для записи в файл.

1 голос
/ 10 июля 2010

Не изменяйте $stdout и, конечно, не сохраняя где-то старое значение, чтобы вы могли восстановить его после того, как с ним покончено.

Вместо этого вызовите puts для объекта файла:

File.open("#{filename}#{co}#{extension}" ,'w') do |file|
  file.puts "sachin" # This goes to the file
end

puts "amit" # This goes to standard output
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...