ruby each_line 获取下一行

标签 ruby file-io

我有一个包含一些重复条目的文件。看起来像

Los Angeles, 6
Los Angeles, 6 
New York, 31
New York, 31
New YOrk, 31
.
.
.

现在我想去掉重复的数据。我尝试做的是使用 each_line,查看该行是否等于下一行,如果它们相同则跳过,然后写入一个新文件。问题是我应该如何获取该文件的下一行? 或者还有其他建议吗?

最佳答案

比较下一行是不必要的,因为你可以很容易地看到当前行是否与上一行相匹配:

file = File.open("filename", "r")
previous_line = nil
file.each_line { |line|
   if line == previous_line
     # duplicate line; ignore
   else
     # different; do whatever you want
   end

   # remember this line so we can compare against it
   previous_line = line
}

关于ruby each_line 获取下一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12538603/

相关文章:

python - 使用 Python 记录器类为不同的日志级别生成多个日志

java - 在Java中读/写数字——转换时出现NumberFormatException

ruby - XInclude 包含元素的命名空间

ruby-on-rails - 在 Heroku 上预编译失败,initialize_on_precompile 设置为 false

java - lejos 文件写入 NXT

python - 是否可以就地修改文件中的行?

ruby Chef 指令 : include_attribute vs. include_attributes

ruby-on-rails - 将 span 放入 f.submit

arrays - 为什么我不能将数字作为字符串更改为整数?

python - 使用 python 从文本文件中读取 - 第一行被遗漏