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