这可能是一个愚蠢的问题,但我从昨天起就无法做到这一点。 我有一个输入文件,其中包含我需要使用的一些数据,它应该如下所示:
pom.xml Maven > Reimport
我需要能够按照以下格式将其分成说明:x <= 42 & x >= 20 | x < 50
y > 10 & y < 20
z < 100 & z > 101
y > 5
w <= 0
a >= 0 | a <= 10
,并且您可以通过'&amp;','|'分隔每条指令。或一个新行(在我的情况下意味着与'|'相同)。
请注意,<variable> <operator> <number>
变量显示在2个不同的行中,但它引用相同的x
,不应覆盖另一个。
我的猜测是迭代文本并将其拆分为4个字符串,这就是它。问题在于我不知道如何处理Ruby中的新行。
我试过了:
x
然后会返回并返回一行数,每行都分成单词,但我仍然需要获取换行符。
TL; DR:鉴于之前的输入,我需要能够做到:
lines = []
begin
file = File.open(ARGV.at(0))
while (t = file.gets.chomp)
lines << line.split
end
file.close
rescue => e
puts e
end
例如第一行
答案 0 :(得分:0)
您可以按行阅读文件的内容
File.readlines(ARGV.at(0)).each do |line|
或获取所有内容并将其拆分
lines = File.read(ARGV.at(0)).split("\n")
上面适用于小文件,因为文件的内容已加载到内存中。 对于大文件,需要使用这种方法
File.foreach(ARGV.at(0)).with_index do |line, line_num|
end