smartmatch相关内容

为什么 smartmatch 根据操作数的顺序返回不同的值?

我有一个数组,其以下测试返回 true: 1 ~~ @a 然而,以下测试返回 false: @a ~~ 1 我在 Learning Perl 中读到,值在 smartmatch 运算符两侧的位置并不重要,但显然在上面的代码中是重要的.这是为什么?这两个语句检查不同的东西吗? 解决方案 除了其他答案,Perl 5.10.1 更改列表 有一节介绍了对 ~~ 操作符所做的更改: 智 ..
发布时间:2021-06-15 21:02:26 其他开发

什么是"~~ "在 Perl 中是什么意思?

在 SO 答案 daxim 声明: @array ~~ $scalar 当 $scalar 在 @array 中时为真 draegtun 回复的内容: 从 5.10.1+ 开始,~~的顺序是重要的.因此它需要是 $scalar~~ @数组 关于~~ 的小入门书如何,其中包含指向源代码的链接,包括以下具体问题:什么是~~?~~ 叫什么?为什么顺序在一个版本中很重要,而在前一个版本中不 ..
发布时间:2021-06-15 20:21:17 其他开发

Perl 5.20 和智能匹配和给定时间的命运

我刚刚安装了 Perl 5.18,我收到了很多这样的警告, given 在 .\[...].pl 行 [...] 处是实验性的.什么时候在 .\[...].pl 行 [...] 是实验性的.Smartmatch 在 C:/strawberry/perl/site/lib/[...] 行 [...] 处于实验阶段. 查看这些警告——我从未在任何地方听说过——我只能在两个地方找到这个, pe ..
发布时间:2021-06-15 20:02:13 其他开发

在数组中搜索标量时,Perl的smartmatch运算符有多快?

我想在不变的数组中反复搜索值. 到目前为止,我一直是这样进行的:我将值放入一个哈希(这样我就拥有一个数组和一个具有基本上相同内容的哈希),然后使用exists搜索该哈希. 我不喜欢有两个不同的变量(数组和哈希)都存储相同的东西;但是,散列搜索起来要快得多. 我发现Perl 5.10中有一个~~(智能匹配)运算符.在数组中搜索标量时,效率如何? 解决方案 如果要在数组中搜索 ..
发布时间:2020-05-25 18:55:52 其他开发

为什么针对键%h的smartmatch失败并给出“参数不是数字”警告?

在以下代码中,为什么第一个smartmatch无法匹配并给出警告参数“two”在智能匹配中不是数字,而第二个smartmatch工作正常如预期的那样(匹配)? use strict; 使用警告; 使用特征'say'; my%h =(“one”=>“un”,“two”=>“deux”); my $ v =“two”; 我的@keys_h =键%h; 表示“匹配第一种形 ..
发布时间:2018-06-01 19:28:34 其他开发