加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

更简洁的方法来设置perl6中的正则表达式的默认值

发布时间:2020-12-15 22:04:43 所属栏目:大数据 来源:网络整理
导读:分开例如mins-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应该能够将其打包成更加简洁的
分开例如mins-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,因为这对调用者没用.

任何有更好转变的人?

解决方法

如何使用好的旧分裂?
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)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读