在 Ruby 中,我希望读取数据,直到到达定界符或文件末尾。
我发现这可以通过将 $/
或 $INPUT_RECORD_SEPARATOR
重新定义为我的定界符来实现。然而,对于 Ruby 语言中的所有“特性”,更改全局变量的值来执行此操作似乎很容易。此外,readline 过去常常使用定界符,但不将其包含在返回的内容中。
有没有其他方法可以在使用不涉及在循环中逐字符获取值的定界符时“读取直到”?
最佳答案
基本上,IO
中的所有 readline
风格的方法都接受分隔符字符串作为可选参数:
>> s = StringIO.new('hello from string')
=> #<StringIO:0x52bf34>
>> s.readline ' '
=> "hello "
>> s.readline ' '
=> "from "
>> s.readline ' '
=> "string"
关于ruby - Readline、输入记录分隔符和 Ruby,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2463681/