问题标签 [smartmatch]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
perl - 我可以用 Perl 中的 smartmatch 运算符替换绑定运算符吗?
如何使用 smartmatch 运算符 ( ~~
) 编写此内容?
regex - 如何使用 Perl 的智能匹配同时匹配多个模式?
我试图按照一些示例在以下代码中使用智能匹配,但失败了(没有过滤掉任何内容)。如何在此处使用智能匹配一次匹配多个正则表达式?
perl - 我可以在 Test::More 的 cmp_ok 中使用智能匹配~~吗?
我正在测试一个返回数组的函数。该数组可能因环境而异,但它始终具有至少一个常量值(我要测试的那个)。
当我使用 Perl 5.12 时,我可以使用 smartmatch 运算符来查找元素是否在数组中:
is
但我喜欢“发现”和like
“预期”部分的增强输出。所以我尝试了这个:
这不起作用,因为似乎cmp_ok
在比较的两个部分都需要一个标量:
“预期”槽中的数组在标量上下文中计算并转换为 2。
我可以通过 hack 使用和字符串化数组来解决这个问题like
,但是有一个测试可以使用 smartmatch 运算符作为比较方法(如when
)会很好。有没有办法用 Test::More 或其他模块来做到这一点?
目前我正在使用:
这是我能做的最好的吗?
perl - 在数组中搜索标量时,Perl 的智能匹配运算符有多快?
我想重复搜索不变的数组中的值。
到目前为止,我一直在这样做:我将值放在一个哈希中(所以我有一个数组和一个内容基本相同的哈希),然后我使用exists
.
我不喜欢有两个不同的变量(数组和哈希)都存储相同的东西;但是,散列的搜索速度要快得多。
我发现~~
Perl 5.10 中有一个 (smartmatch) 运算符。在数组中搜索标量时效率如何?
perl - 为什么 smartmatch 根据操作数的顺序返回不同的值?
我有一个数组,以下测试返回 true:
然而,以下测试返回 false:
我在Learning Perl中读到,值在 smartmatch 运算符两侧的位置无关紧要,但显然在上面的代码中确实如此。这是为什么?这两个语句检查不同的东西吗?
regex - 当我匹配包含斜杠的正则表达式时,为什么 smartmatch 返回 false?
我正在尝试使用 smartmatch 运算符将简单字符串与正则表达式模式进行匹配:
我希望这会打印“ok”,但事实并非如此。为什么不?
perl - 为什么 smartmatch 在比较应该不同的数组切片时返回 true?
以下脚本智能匹配两个数组的切片。一开始,两个数组都是相同的,我得到了合理的结果。然后我更改其中一个数组并智能匹配两个新切片,但它仍然说切片是相同的。但是,当我将切片复制到数组中时,智能匹配数组表明它们确实不同。
剧本:
输出:
我正在使用 Perl 5.10.1,这发生在数组切片和哈希切片上。为什么会这样?
perl - 即使@array 包含与 LIST 相同的元素,为什么 @array ~~ LIST 返回 false?
我有
和
第一个是我希望工作的那个,但它不打印任何东西。第二个确实打印 1。
为什么?智能匹配运算符不~~
应该在 的情况下匹配@a ~~ (1,2,3)
吗?