gpt4 book ai didi

raku - 在Perl6中为regex设置默认值的更简洁方法

转载 作者:行者123 更新时间:2023-12-04 13:46:05 24 4
gpt4 key购买 nike

分割例如分钟2成单位名称和顺序的组成部分,这就是我想要的

sub split-order ( $string ) {
my Str $i-s = '1';
$string ~~ / ( <-[\-\d]>+ ) ( \-?\d? ) /;
$i-s = "$1" if $1 ne '';
return( "$0", +"$i-s".Int );
}

似乎perl6应该能够将其打包成更加简洁的措词。我需要没有尾数的默认顺序为1。

我可能有点懒,没有将行尾与$匹配。尝试避免返回Nil,因为这对调用者没有用。

有人说得更好吗?

最佳答案

使用旧的split怎么样?

use v6;

sub split-order(Str:D $in) {
my ($name, $qty) = $in.split(/ '-' || <?before \d>/, 2);
return ($name, +($qty || 1));
}

say split-order('mins-2'); # (mins 2)
say split-order('foo42'); # (foo 42)
say split-order('bar'); # (bar 1)

关于raku - 在Perl6中为regex设置默认值的更简洁方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49681729/

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