gpt4 book ai didi

ruby - 检查文件是否包含字符串

转载 作者:数据小太阳 更新时间:2023-10-29 06:23:56 24 4
gpt4 key购买 nike

所以我在这里发现了这个问题,但我对输出以及如何使用 if 语句处理它有疑问。这就是我的,但它总是说它是真的,即使文件中不存在 monitor 这个词

if File.readlines("testfile.txt").grep(/monitor/)
do something
end

它应该是 == "nil"吗?我对 ruby​​ 很陌生,不确定输出是什么。

最佳答案

我会使用:

if File.readlines("testfile.txt").grep(/monitor/).any?

if File.readlines("testfile.txt").any?{ |l| l['monitor'] }

使用 readlines 存在可伸缩性问题,因为它将整个文件读入数组。相反,使用 foreach 将完成同样的事情而没有可伸缩性问题:

if File.foreach("testfile.txt").grep(/monitor/).any?

if File.foreach("testfile.txt").any?{ |l| l['monitor'] }

有关可扩展性问题的更多信息,请参见“Why is "slurping" a file not a good practice?”。

关于ruby - 检查文件是否包含字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8408388/

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