【发布时间】:2014-02-13 18:15:25
【问题描述】:
我在 ruby 中读取文件时遇到问题。
我正在尝试读取文件的每一行,根据字符对其进行拆分,然后将其存储到一个数组中。对应于每一行的那个数组有信息。我想检查该数组是否包含字符“u”“d”“l”或“r”,如下所示。
如果该行不包含任何这些字符,我将计数变量加一。
count -= 1 只考虑了一个基本情况。
我的问题是这给了我一个错误的计数。例如,一个文本文件如下:
4 0 0 3 3
0 0 d 0.391538986557049
0 1 ur 63.1258159853081 3.14882640637611
0 2 rd 0.0148854629087619 0.019301544005463
0 3 u 15.6415340291405
count 应该是 0。
def compute_closed(file)
count = 0
while line = file.gets do
array = line.split(//)
answer = array.include?("u" || "d" || "l" || "r")
if answer != true
count += 1
end
end
count -= 1
puts count
end
【问题讨论】:
-
亲爱的
array.include?("u" || "d" || "l" || "r")无效。它只需要一个参数。 -
哦,好的,谢谢。你能告诉我一个等效的吗?
-
你给我们实际的文本文件内容,以及预期的输出
-
给@ArupRakshit 实际的文本文件和 10 秒(最大):-)
-
我们无法像这样知道您的文本文件的行。请编辑您的帖子和代码格式文本文件。