Ruby 打印文件中最长的行
我试图打印文件“words”中最长的一行,这是一个文件,每个文件都有一个新行中的单词列表。 有了下面的代码,我可以让它打印每一行比前一行长的内容。但是,我需要它只打印整个文件中最长的一行 我对Ruby还是新手,在谷歌上似乎找不到答案Ruby 打印文件中最长的行,ruby,file-io,line,Ruby,File Io,Line,我试图打印文件“words”中最长的一行,这是一个文件,每个文件都有一个新行中的单词列表。 有了下面的代码,我可以让它打印每一行比前一行长的内容。但是,我需要它只打印整个文件中最长的一行 我对Ruby还是新手,在谷歌上似乎找不到答案 max = 0 IO.foreach('words') do |line| if line.length > max max = line.length print line end end 我非常感谢你
max = 0
IO.foreach('words') do |line|
if line.length > max
max = line.length
print line
end
end
我非常感谢你的帮助 您需要跟踪最长的行,并且只在完成后打印 大概是这样的:
max = 0
longest = ""
IO.foreach('words') do |line|
if line.length > max
max = line.length
longest = line
end
end
print longest
您需要跟踪最长的行,并且只在完成后打印 大概是这样的:
max = 0
longest = ""
IO.foreach('words') do |line|
if line.length > max
max = line.length
longest = line
end
end
print longest
一种更简洁和Ruby风格的方法是
puts IO.foreach('words').max_by(&:length)
一种更简洁和Ruby风格的方法是
puts IO.foreach('words').max_by(&:length)
非常感谢你!我不知道我们会有像“最长=谢谢”这样的东西!非常感谢你!我不知道我们会有像“最长=谢谢”这样的东西!