gpt4 book ai didi

raku - Perl6 cmp的两个字符串可以不区分大小写吗?

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

我正在做一个排序,想控制Alpha值的cmp不区分大小写(即https://perl6.org/archive/rfc/143.html)。

也许有一些:i副词吗?

最佳答案

Perl 6目前没有这个选项,但是它是一种非常易变的语言,所以让我们添加一下。

由于现有的proto不允许使用命名值,因此我们必须添加一个新值或编写一个only子项。
(也就是说,除了可选的multi之外,您只能使用下面的only。)

这仅在词法上适用,因此如果您编写此代码,则可能要根据您的操作将proto/only子标记为可导出。

proto sub infix:<leg> ( \a, \b, *% ){*}

multi sub infix:<leg> ( \a, \b, :ignore-case(:$i) ){
$i

?? &CORE::infix:<leg>( fc(a) , fc(b) )
!! &CORE::infix:<leg>( a , b )
}

say 'a' leg 'A';     # More
say 'a' leg 'A' :i; # Same
say 'a' leg 'A' :!i; # More

say 'a' leg 'A' :ignore-case; # Same

请注意, :$i:i( $i )的缩写,因此两个命名参数可以写为: :ignore-case( :i( $i ) )
另外,我使用了 fc()的子形式,而不是方法形式的 .fc,因为它允许使用字符串的 native 形式而不会引起自动装箱。

关于raku - Perl6 cmp的两个字符串可以不区分大小写吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51678365/

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