0

我在使用 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

将整个文本作为一行。不能将每一行与其他行分开。我需要打破秩序。怎么做?

4

1 回答 1

3

我怀疑您没有考虑到一行以$/("\n"在 UNIX 上) 结尾。所以你可能打算

line1 == "sukanta\n"

或者

line1.chomp == "sukanta"

并且在计算长度时不包括在内$/(取决于操作系统,它比正确长度少一到两个字符)。

于 2013-09-02T11:38:39.737 回答