ruby – 什么是触发器操作符?
发布时间:2020-12-16 20:30:27 所属栏目:百科 来源:网络整理
导读:最近在Perl和Ruby中听到过有关正则表达式的触发器的阅读,但是我无法找到它们的工作原理,以及常见的用例. 任何人都可以用语言无关的方式解释这个问题吗? 现在我明白了它是什么,它是如何工作的,我会把这个问题简单地说一下:什么是触发器操作符? 解决方法 当
最近在Perl和Ruby中听到过有关正则表达式的触发器的阅读,但是我无法找到它们的工作原理,以及常见的用例.
任何人都可以用语言无关的方式解释这个问题吗? 现在我明白了它是什么,它是如何工作的,我会把这个问题简单地说一下:什么是触发器操作符? 解决方法
当左操作数为真时,Perl中的触发器操作符将计算为真,并保持评估为true,直到正确的操作数为真.左右操作数可以是任何形式的表达式,但大多数情况下,它与正则表达式一起使用.
使用正则表达式,它可用于查找两个标记之间的所有行.这是一个简单的例子,显示它是如何工作的: use Modern::Perl; while (<DATA>) { if (/start/ .. /end/) { say "flip flop true: $_"; } else { say "flip flop false: $_"; } } __DATA__ foo bar start inside blah this is the end baz 触发器操作符对于从开始到结束的所有行都将是真实的. 运算符的两点版本允许在同一行上匹配第一个和第二个正则表达式.所以,如果你的数据看起来像这样,上面的程序将只是对于线开始blah结束: foo bar start blah end inside blah this is the end baz 如果您不希望第一个和第二个正则表达式匹配相同的行,则可以使用三点版本:if(/ start / … / end /). 请注意,应注意不要将触发器运算符与范围运算符混淆.在列表上下文中,..有一个完全不同的功能:它返回一个顺序值的列表.例如 my @integers = 1 .. 1000; #makes an array of integers from 1 to 1000. 我不熟悉Ruby,但Lee Jarvis’s link表示它的工作原理类似. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |