Ruby:你如何阅读跨越多行的字符串?

时间:2015-05-24 04:38:08

标签: ruby gets

上下文:

在编程竞赛中,测试用例通常非常大。当问题处理字符串时,这些给定的字符串可以由10 ^ 5个字符组成。

请看这个判断输入: https://he-s3.s3.amazonaws.com/media/hackathon/april-easy-challenge-15/problems/battle-of-words/af078bfa-d-input-af07897.txt?Signature=qlPyGqHaNOSmMOUhFTiNjn83hnk%3D&Expires=1432444347&AWSAccessKeyId=AKIAJLE6MUHDYS3HN6YQ

以下是我试图解决的问题: https://www.hackerearth.com/problem/algorithm/battle-of-words/

这是我在RUBY中的解决方案,它只通过了10个给定测试用例中的3个:

itemPrice()

检查后,看来我用来读取输入行的获取函数在字符串变大并跨越多行时无法读取字符串。

有没有办法告诉ruby读取跨越多行的字符串?

提前致谢。

我无法发布图片,声誉低于10

1 个答案:

答案 0 :(得分:0)

gets可以读取具有该问题最大长度的输入行(在那里!)。据我所知,使用gets可以阅读的字符数量仅受代码可用内存量的限制,并且提供的内容足够。

在您链接的输入中,第一行后实际上有10 * 2 = 15行。只是在浏览器中,冗长的线条被包裹起来,使它看起来像是分成多行。因此,使用两个gets就足以读取测试用例的两行。

所以你读的线条很好,你必须检查读完后的部分。