我该怎么办
ruby -pe "sub /.*{((\d+\.){3}).*/, '\115'" < file.txt
但如果我尝试scan
而不是sub
,我会
-e:1:in
<main>': undefined method
scan'for main:Object(NoMethodError)
这很令人困惑,因为sub
不是Object
上的方法。
我也尝试过Perl方式,比如
ruby -ne "/.*/; puts $1" <file.txt
但是没有飞过。
我在哪里可以找到涵盖此内容的文档?
答案 0 :(得分:9)
sub
is a method on Kernel
,一个实例方法全局可用的模块。此版本的方法对全局变量$_
进行操作contains the string last read by gets
。
这是一种完全不同于String#sub
的方法,它执行类似的过程但使用显式字符串作为接收者,而不是隐式使用$_
。