Readline、输入记录分隔符和 Ruby

Que*_*mer 4 ruby readline

在 Ruby 中,我希望读取数据,直到到达分隔符或文件末尾。

我发现这可以通过重新定义$/$INPUT_RECORD_SEPARATOR到我的分隔符来实现。然而,有了 Ruby 语言中的所有“特性”,改变全局的值来做到这一点似乎很困难。此外, readline 用于使用分隔符,但不将其包含在返回的内容中。

在使用不涉及在循环中逐个字符获取值的分隔符时,是否还有其他方法可以“读取直到”?

Mla*_*vić 5

基本上,所有readline样式的方法都IO接受分隔符字符串作为可选参数:

>> s = StringIO.new('hello from string')
=> #<StringIO:0x52bf34>
>> s.readline ' '
=> "hello "
>> s.readline ' '
=> "from "
>> s.readline ' '
=> "string"
Run Code Online (Sandbox Code Playgroud)

  • “做作”就这么多了。我想说鲁比需要道歉。告诉你的电脑你很抱歉。:-) (2认同)