当前位置:  开发笔记 > 后端 > 正文

了解ruby方法$ stdout的工作原理

如何解决《了解ruby方法$stdout的工作原理》经验,为你挑选了1个好方法。

这是一个简单的ruby脚本,它接受来自用户的输入并提供输出(是的,它将被重构).我希望这个脚本能够将输出提供给文本文件,而不是控制台窗口.这是通过简单添加完成的,$stdout = File.new('out.txt', 'w')但我认为这一行只会描述一个变量,我将在稍后使用它告诉脚本使用它将输出写入创建的文件.

我找不到有关此方法的大量文档,并想知道该程序如何知道如何将生成的输出写入该文件?



1> axiac..:

$stdout是一个全局变量.默认情况下,它存储IO与程序的标准输出(默认情况下为控制台)关联的类型的对象.

puts是一个Kernel模块的方法,它实际调用$stdout.send()并传递它接收的参数列表.正如文档所解释的,puts(obj, ...)相当于$stdout.puts(obj, ...).

您的代码替换$stdoutFile扩展类的类型的对象IO.创建它时,您的对象会打开out.txt要写入的文件,并且它的继承与IO它的默认行为完全兼容$stdout.

因为默认情况下,所有输出都是$stdout,所以您的新定义$stdout可确保将输出写入文件out.txt而不需要对代码进行其他更改.

推荐阅读
我我檬檬我我186
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有