Ruby 小知识 (一) $/ 是什么?

环境

  • Ruby: 3.1.0

最近在某个 gem 的代码里边发现了这样的代码

gem.files = `git ls-files`.split($/)

这个 "$/" 引起了我的注意。在网上查了下,原来这是一个 Ruby 的预定义变量,$ 开头表示这是一个全局变量。关于这个变量的定义是:

The input record separator (newline by default). gets, readline, etc., take their input record separator as optional argument

就是说它定义了输入分割符,这个变量会被 getsreadline 方法用到。默认的值是 "\n" ,不管是 *nix 环境还是 Windows 环境都是这个值。

irb(main):003:0> $/
=> "\n"

类似的还有另外的一些全局变量。可以参考 tutorialspoint 提供的 Ruby 教程里边的文章 ruby_predefined_variables

点赞

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注