爲什麼我能做到Ruby的命令行單行子與掃描
ruby -pe "sub /.*{((\d+\.){3}).*/, '\115'" < file.txt
但如果我嘗試的scan
代替sub
我得到
-e:1:
<main>': undefined method
掃描」主:對象(NoMethodError)
這是令人迷惑,因爲sub
不在Object
的方法無論是。
我也試了一下Perl的方式,像
ruby -ne "/.*/; puts $1" <file.txt
,但沒有飛起來。
我在哪裏可以找到涵蓋此文件?
sub是內核下的方法,它是包含在對象中的一個模塊,因此您可以在主對象的範圍內獲得它,因爲如果您在ruby 2.0上運行,那麼掃描並不是。如果你運行的是1.8.7,那麼你通過$ _掃描來調用掃描(pattern) – Raghu