gpt4 book ai didi

Ruby 终端代码不工作

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

当我在终端上运行这段 Ruby 代码时,它不会在控制台上显示“it works”。这段代码有什么问题?

f = File.open("hello.txt", 'w')
f.puts "Hello World"

text = IO.read("hello.txt")

if text == "Hello World"
puts "it works"
end

最佳答案

有几点需要注意。

1) 当您使用 File 写入文件时,它会缓冲数据以提高效率(而不是重复写入文件系统),因此您需要 flush句柄以确保实际写入任何缓冲数据。您可以通过调用 flush 显式执行此操作,也可以通过关闭句柄隐式执行此操作。

2) 当您从用户输入获取 或从文件系统读取时,去除 任何尾随空白字符通常是个好主意。如果没有:text.strip == "Hello World"

,您的平等评估将失败

3) 与其打开同一个文件的两个句柄(通过 FileIO),您可以通过从 切换来打开单个读/写流ww+。然后您可以倒回到正确的位置。

下面是该方法的外观:

f = File.new("hello.txt", 'w+')
f.puts "Hello World"
f.rewind
text = f.read.strip
puts "It works" if text == "Hello World"

关于Ruby 终端代码不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38145384/

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