filename = "#{k}""/kabab"
extension = ".txt"
for i in 1..10
$stdout=File.open("#{filename}#{co}#{extension}" ,'w')
puts "sachin"
end
puts "amit"
我的问题是在最后一个文件中意味着kabab 10.text正在获得像sachin和amit这样的输出 但我不希望amit在第10个文件中如何解决它?
答案 0 :(得分:1)
请勿更改$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
答案 1 :(得分:0)
尝试使用puts
将sachin放入文件中。
$f = File.open("#{filename}#{co}#{extension}" ,'w')
$f.puts "sachin"
答案 2 :(得分:0)
我编辑你的问题,但我不认为你在循环中使用它时如何获得所有文件中的amit。但是如果你将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"
end