gpt4 book ai didi

ruby - 当存在字符 r 时,读取文件会导致问题

转载 作者:太空宇宙 更新时间:2023-11-03 18:07:11 26 4
gpt4 key购买 nike

我有一个函数可以读取输入测试文件,以便我可以进行进一步处理。出于某种原因,它将我的 r 视为回车 \r

def main
#format input
input = []
File.foreach(ARGV[0], 'r') do |f|

puts "f is #{f}"
break
end
end
main()

测试文件.csv

149
u,6,3
b,11,11
r,10,11
h,4,8
t,4,5
v,7,9

但是,无论何时在我的测试文件中遇到 r,都不会读入进一步的输出。出于某种原因,r 被视为回车 \r

命令行

> ruby bst.rb testfile.csv 
f is 149
u,6,3
b,11,11
r

最佳答案

查看 IO.foreach 的文档.第二个参数是用于分割行的分隔符,不是文件的打开模式(它也可以是限制——要返回的最大长度字符串)。

这意味着在调用 foreach 时,您要求 Ruby 从文件中返回由 r 字符分隔的字符串,这正是您所看到的。

解决方案是删除'r',只读模式是默认模式,所以你不需要它:

File.foreach(ARGV[0]) do |f|
#...

关于ruby - 当存在字符 r 时,读取文件会导致问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42335119/

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