gpt4 book ai didi

regex - 来自 5.27 的 Smartmatch ~~ vs =~

转载 作者:行者123 更新时间:2023-12-04 18:18:48 25 4
gpt4 key购买 nike

我现在正在使用 Perl 5.24 并且 smartmatch 是一个很棒的多功能运算符,例如,

%foobar ~~ @foo; 

以及其中的所有错综复杂。

我知道从 5.27 开始,它的功能将减少到涉及智能 watch ,
$foo = qr/foo/; 

好的,所以我将不得不重写我的数据管道以使其合规。

我的问题是,如果确认有什么不同,
'foo' ~~ $foo;

和,
 'foo' =~ /$foo/;

令我震惊的是,除了名称之外,smartmatch 的所有内容都被删除了。我是对的,如果不是,我错过了什么?

历史

它有一段不寻常的历史,必须强调它被归类为实验性的。我正在绘制我所知道的。我想你们中的许多人会知道更多,任何输入都会有帮助,因为它是(对学生)语言进化的一个例子:
  • 5.10首次推出
  • 5.14 引入 %foobar ~~ @foo 类型匹配
  • 5.27 除名称外,全部删除?还在实验?
  • 最佳答案

    智能匹配仍处于试验阶段。

    如果我们有时光机,大多数从事 perl 开发的人都会回到过去,从 perl5 中删除智能匹配。 smart match 所做的唯一一件事就是清楚地表明,如果它比 say 更复杂,那么从 perl6 中获取一些东西并试图将它固定到 perl5 中是行不通的。 .

    没有人知道 perl5 中智能匹配的 future 会是什么。关于它应该是什么,没有达成一致。如果不是可怕的“向后兼容性”,智能匹配早在几年前就已经死了。

    给自己一个痛苦的世界,不要使用智能匹配。

    关于regex - 来自 5.27 的 Smartmatch ~~ vs =~,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55819998/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com