gpt4 book ai didi

raku - 模块名称匹配

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

我有一个模块名称列表,如 Str s,从 META6.json 中提取.具体来说,depends大批。这包含以下条目:

"Config::Parser::toml:ver<1.0.1+>",                                   
"Config:api<1>:ver<1.3.5+>",
"Dist::Helper:ver<0.21.0+>",
"Hash::Merge",
"Terminal::Getpass:ver<0.0.5+>",

我怎样才能最好地匹配单个条目?做 eq字符串匹配不够具体,如 Config不匹配 Config:api<1>:ver<1.3.5+>作为一个字符串。尝试使用 .starts-with 进行匹配也无法正常工作,如 Config:ver<1.3.5>不匹配 Config:api<1>:ver<1.3.5> .

最佳答案

use Zef::Distribution::DependencySpecification;

my $spec-ver-all = Zef::Distribution::DependencySpecification.new("Foo::Bar");
my $spec-ver-zero = Zef::Distribution::DependencySpecification.new("Foo::Bar:ver<0>");
my $spec-ver-one = Zef::Distribution::DependencySpecification.new("Foo::Bar:ver<1>");
my $spec-ver-oneplus = Zef::Distribution::DependencySpecification.new("Foo::Bar:ver<1+>");
my $spec-ver-two = Zef::Distribution::DependencySpecification.new("Foo::Bar:ver<2>");
my $spec-ver-three = Zef::Distribution::DependencySpecification.new("Foo::Bar:ver<3>");

say $spec-ver-one.spec-matcher($spec-ver-all); # True
say $spec-ver-one.spec-matcher($spec-ver-two); # False
say $spec-ver-zero.spec-matcher($spec-ver-oneplus); # False
say $spec-ver-oneplus.spec-matcher($spec-ver-oneplus); # True
say $spec-ver-three.spec-matcher($spec-ver-oneplus); # True

关于raku - 模块名称匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51275303/

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