ruby - Readline、输入记录分隔符和 Ruby

标签 ruby readline

在 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/

相关文章:

python - Ruby 是否像 Python 一样具有 `bool` 函数?

python - R readline 在脚本中不起作用

javascript - Node 流逐行关闭事件

c - 使用 readline 防止回车输出

ruby - 在 Ruby 中对数字字符串进行排序

java - IntelliJ IDEA : What qualifies as an SDK?

ruby-on-rails - RSpec、Capybara、JavaScript 测试未正确回滚数据库

ruby-on-rails - 在 Ruby 中访问 JSON 对象

C++ cin一直在跳

java - 为什么 java.lang.process 的 readline() 在读取具有相同操作系统的不同机器上的输入流时表现不同