首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用$stdout

如何使用$stdout
EN

Stack Overflow用户
提问于 2010-07-10 13:49:06
回答 3查看 418关注 0票数 0
代码语言:javascript
复制
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个文件中,如何解决它?

EN

回答 3

Stack Overflow用户

发布于 2010-07-10 18:17:26

不要更改$stdout,而且一定要将旧值存储在某个地方,以便在使用完它之后可以恢复它。

而是对文件对象调用puts

代码语言:javascript
复制
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
EN

Stack Overflow用户

发布于 2010-07-10 13:53:37

尝试使用puts将sachin放到文件中。

代码语言:javascript
复制
$f = File.open("#{filename}#{co}#{extension}" ,'w')
$f.puts "sachin"
票数 0
EN

Stack Overflow用户

发布于 2010-07-10 13:54:48

我编辑了您的问题,但我不认为您如何在所有文件中获得amit,因为您在loop.But之外使用它。如果您将puts "amit"放在for loop中,我希望下面的内容能帮助您

代码语言:javascript
复制
puts "amit" if i != 10

编辑:-你喜欢下面这样的东西吗?

代码语言:javascript
复制
filename = "kabab" 
extension = ".txt" 

puts "amit"

for i in 1..10 
  $stdout=File.open("#{filename}#{i}#{extension}" ,'w')
    puts "sachin"

end
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3218028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档