Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby命令行一行程序与扫描_Ruby - Fatal编程技术网

Ruby命令行一行程序与扫描

Ruby命令行一行程序与扫描,ruby,Ruby,我怎么能做到 ruby -pe "sub /.*{((\d+\.){3}).*/, '\115'" < file.txt 但那没有飞起来 在哪里可以找到有关此的文档?,该模块的实例方法是全局可用的。此版本的方法对全局变量$\uuz进行操作 这是一种与完全不同的方法,它执行类似的过程,但使用显式字符串作为接收器,而不是隐式使用$\ucode>sub是内核下的方法,内核是对象中包含的模块,因此,如果在ruby 2.0上运行,则将其置于主对象的范围内,而as scan不是主对象的范围内。如果您

我怎么能做到

ruby -pe "sub /.*{((\d+\.){3}).*/, '\115'" < file.txt
但那没有飞起来

在哪里可以找到有关此的文档?

,该模块的实例方法是全局可用的。此版本的方法对全局变量
$\uuz
进行操作


这是一种与完全不同的方法,它执行类似的过程,但使用显式字符串作为接收器,而不是隐式使用
$\ucode>

sub是内核下的方法,内核是对象中包含的模块,因此,如果在ruby 2.0上运行,则将其置于主对象的范围内,而as scan不是主对象的范围内。如果您运行的是1.8.7版本,那么您可以通过执行$\.scan(模式)调用scan听起来很有说服力,但我尝试了“Kernel.methods.sort”和“Kernel.instance\u methods.sort”,我似乎在任何地方都找不到“sub”。我也很想知道你是如何获得这些知识的,我真的希望答案不是“通过阅读源代码”。@JonasElfström你使用的ruby的ruby版本是什么?在不同版本的ruby中,内核模块是不同的,因为在最新版本的ruby中,有些方法(如scan)似乎已被弃用。@JonasElfström我知道ruby中的“全局”方法通常在一个或两个位置声明:
对象
内核
。你说它不在
Object
上,所以我在
Kernel
上查找文档,它就在那里,一目了然。@JonasElfström不太好。这是一条通用的“此处不存在此方法”消息。而作为ruby脚本根上下文的
main
对象包含
内核
模块,注入了这些实例方法。因此,
main:Object(NoMethodError)的未定义方法“scan”是完全准确的。隐式接收器没有您正在调用的方法。你希望得到什么信息?
ruby -ne "/.*/; puts $1" <file.txt