我在阅读带有readline的文本文件并尝试将第一行与字符串进行比较时出现问题。我想比较文本文件的第一行和字符串,然后将进行下一个过程。但我无法做到这一点。这是我的代码:
doc = File.open("example.txt", "r")
line1 = doc.readline
if line1 == "sukanta"
line2 = doc.readline
line3 = doc.readline
line4 = doc.readline
end
我的example.txt
文件包含:
sukanta
Software engineer
label2
server:107.108.9.190
请给我解决方案。虽然我试图通过line1.length
获取字符串长度,但它没有显示确切的数字。
我得到了答案。它的愚蠢错误......我应该使用" sukanta \ n"比较
当我使用readline读取每一行时,我必须按顺序在每个行中设置每一行。我不能打破秩序。我正在使用循环
doc = File.open("example.txt", "r")
doc.each_line do |lines|
puts lines
end
将整个文本作为一行。不能将每条线与其他线分开。我需要打破秩序。怎么做?
答案 0 :(得分:3)
我怀疑您没有考虑到一行以$/
结尾(在UNIX上为"\n"
)。所以你可能打算
line1 == "sukanta\n"
或
line1.chomp == "sukanta"
并且在计算长度时(包括操作系统的长度小于正确长度的一个或两个字符),您不会包括$/
。