filename = "#{k}""/kabab"
extension = ".txt"
for i in 1..10
$stdout=File.open("#{filename}#{co}#{extension}" ,'w')
puts "sachin"
end
puts "amit"我的问题在最后一个文件中意味着kab10.txt,我像sachin和amit一样调整输出,但我不希望amit出现在第10个文件中,如何解决它?
发布于 2010-07-10 18:17:26
不要更改$stdout,而且一定要将旧值存储在某个地方,以便在使用完它之后可以恢复它。
而是对文件对象调用puts:
File.open("#{filename}#{co}#{extension}" ,'w') do |file|
10.times do
file.puts "sachin" # This goes to the file
end
end
puts "amit" # This goes to standard output发布于 2010-07-10 13:53:37
尝试使用puts将sachin放到文件中。
$f = File.open("#{filename}#{co}#{extension}" ,'w')
$f.puts "sachin"发布于 2010-07-10 13:54:48
我编辑了您的问题,但我不认为您如何在所有文件中获得amit,因为您在loop.But之外使用它。如果您将puts "amit"放在for loop中,我希望下面的内容能帮助您
puts "amit" if i != 10编辑:-你喜欢下面这样的东西吗?
filename = "kabab"
extension = ".txt"
puts "amit"
for i in 1..10
$stdout=File.open("#{filename}#{i}#{extension}" ,'w')
puts "sachin"
endhttps://stackoverflow.com/questions/3218028
复制相似问题