1
我刚刚开始使用Ruby,我正在寻找一个可能的替代方案使用“获取”的文件输入...我试图写一个简单的热身程序,将打印出文件中最长的一行,如下所示:在红宝石打印文件行
def findMax
maxlength = 0
while line = gets
if line.length > maxlength then
maxlength = line.length
end
end
return maxlength
end
def printLines num
while line = gets
if line.length == num
puts line
end
end
end
printLines findMax
很简单。找出最大长度,以及用来打印出最长的一行,没有任何幻想。但是,每当我用ruby longest.rb <(文件)运行它时,我什么也得不到。这是因为我无法在第二个while循环中使用gets,因为它没有更多内容可读?我可以做什么作为替代方案? :)
你能解释这是如何工作的吗?我不知道如何使用任何文件功能,我绝对不知道如何获取我输入到程序中的文件的名称。有没有办法做到这一点? – user3290526
@ user3290526我刚刚在答案的顶部添加了一个解释,如果它不够清晰,可以随意问,而且我会澄清 – bjhaid