Can';t在ruby中解析文件中的行
我将逐行浏览一个文件,并在每一行中查找“BIOS”一词,因为包含BIOS一词的每一行都有我需要的版本号。在我看到该行包含单词“BIOS”之后,我想获取整个行,并将其拆分为一个数组。这是我的密码:Can';t在ruby中解析文件中的行,ruby,fileparsing,Ruby,Fileparsing,我将逐行浏览一个文件,并在每一行中查找“BIOS”一词,因为包含BIOS一词的每一行都有我需要的版本号。在我看到该行包含单词“BIOS”之后,我想获取整个行,并将其拆分为一个数组。这是我的密码: File.open(file).each do |line| if line.includes? 'BIOS' array = line.split(" ") end end 我遇到的问题是,我一直得到一个错误,说“includes?”是一个未定义的方法。有没有更好的方法来解析文
File.open(file).each do |line|
if line.includes? 'BIOS'
array = line.split(" ")
end
end
我遇到的问题是,我一直得到一个错误,说“includes?”是一个未定义的方法。有没有更好的方法来解析文件中每一行的特定字符串 没错,
includes?
在Ruby中没有为String
定义。改用包含?
或[]
:
因此,代码应该是:
File.open(file).each do |line|
if line.include? 'BIOS'
array = line.split(' ')
end
end
没错,
includes?
在Ruby中没有为String
定义。改用包含?
或[]
:
因此,代码应该是:
File.open(file).each do |line|
if line.include? 'BIOS'
array = line.split(' ')
end
end
你是说,不是复数的
包含?
我知道你说的“我一直在出错…”是什么意思:看起来还可以,所以如果我再次运行它,它可能会工作。这毫无意义,但我想我们都这么做了。你得相信鲁比的话。如果她说一种方法不存在,它就不存在。在这里,您应该在的文档中查找包含?
。然后你就会发现你的错误了。唉,我不认为其他人很可能从这个问题中学到任何东西,所以你可能想考虑删除它。考虑使用:<代码>文件。顺便说一句,File.superclass#=>IO
,这就是为什么你经常看到IO
方法将File
作为它们的接收器。你不是说,不是复数的包括吗?
我知道你说的“我一直得到一个错误…”是什么意思:它看起来不错,所以如果我再次运行它可能会起作用。这毫无意义,但我想我们都这么做了。你得相信鲁比的话。如果她说一种方法不存在,它就不存在。在这里,您应该在的文档中查找包含?
。然后你就会发现你的错误了。唉,我不认为其他人很可能从这个问题中学到任何东西,所以你可能想考虑删除它。考虑使用:<代码>文件。顺便说一句,File.superclass#=>IO
,这就是为什么你经常看到IO
方法将File
作为它们的接收器。我认为你几乎不需要重复代码,减去一个“s”。你的前两句就足够了。我认为你几乎不需要重复代码,减去一个“s”。你的前两句话就足够了。