gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 17:06:34 25 4
gpt4 key购买 nike

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

我找不到很多关于此方法的文档,想知道这个程序如何知道如何将生成的输出写入该文件?

最佳答案

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

putsKernel module 的一种方法它实际上调用了 $stdout.send() 并将它接收到的参数列表传递给它。如文档所述,puts(obj, ...) 等同于 $stdout.puts(obj, ...)

您的代码将 $stdout 替换为 File 类型的对象扩展类 IO。当它被创建时,你的对象打开文件 out.txt 用于写入,并且连同它从 IO 的继承,它与 $stdout 的默认行为完全兼容

由于默认情况下,所有输出都转到 $stdout,您对 $stdout 的新定义可确保将输出写入文件 out.txt 代码中没有其他更改。

关于ruby - 了解 ruby​​ 方法 $stdout 的工作原理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41808034/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com