相关疑难解决方法(0)

Ruby中使用的保留字BEGIN或END是什么?

这是一个很难找到的词,因为在大多数情况下,它们在搜索过程中不敏感.我在文档之外找到的最好的是IRB中的测试.

 BEGIN{puts x = 10}
 10
Run Code Online (Sandbox Code Playgroud)

ruby reserved-words

22
推荐指数
4
解决办法
4415
查看次数

Readline、输入记录分隔符和 Ruby

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

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

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

ruby readline

4
推荐指数
1
解决办法
4255
查看次数

使用Ruby命令行的类似AWK的BEGIN和END

Ruby的一项很酷的功能是它具有像典型的Unix命令行工具一样的行为(类似于官方文档中的示例):

$ echo "matz" | ruby -pe '$_.upcase!'
MATZ
Run Code Online (Sandbox Code Playgroud)

另一方面,Awk可以对来自标准输入的行进行汇总,例如,对一系列数字求和:

$ for (( i=0; $i < 50; i++ )); do echo $i; done | awk 'BEGIN { tot=0; } { tot += $0 } END { print tot }'
1225
Run Code Online (Sandbox Code Playgroud)

我想知道是否有可能让Ruby执行上述Awk BEGIN和代码END块所实现的功能,以便能够执行类似的聚合操作。

ruby unix awk command-line

2
推荐指数
1
解决办法
1073
查看次数

标签 统计

ruby ×3

awk ×1

command-line ×1

readline ×1

reserved-words ×1

unix ×1