gpt4 book ai didi

raku - 滑动散列和模糊自动变量的默认值

转载 作者:行者123 更新时间:2023-12-05 00:11:01 26 4
gpt4 key购买 nike

是否有一种技术可以在滑入子调用时传递散列的默认值?

my %hash is default(222)=(a=>0,b=>111);

sub test {say %_.default}; #using automatic parameter

sub test2(%h) {say %h.default}; #explicit position parameter

test |%hash; #outputs (Any)

test2 %hash #outputs 222

默认输入 %hash滑入潜艇时丢失 test .是否可以在单据中设置默认值?干杯

最佳答案

my %hash is default(222)=(a=>0,b=>111);
sub test {say %_.default}; #using automatic parameter
test |%hash; #outputs (Any)

根据定义,滑动意味着将容器变成其元素的列表。所以你不是传递散列,而是传递它的内容。

%_ 收集传递的命名参数的副本。它是块的本地散列,与用于插入参数的散列没有关系。它的默认值是默认默认值,即 Any ,就像 my声明的哈希:
my %foo;
say %foo.default; # (Any)

Is there a technique to pass along the default value of a hash when slipped into a sub call?



你可以这样做:
my %hash is default(222)=(a=>0,b=>111);
sub test {say %_<hash-default-for-test>}
test |%hash, :hash-default-for-test(%hash.default); #outputs 222

我选择了 key 字符串“hash-default-for-test”,因为它不太可能作为任何散列的正常 key 发生,因此承担意外 key 冲突的理论风险是合理的。

关于raku - 滑动散列和模糊自动变量的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55083249/

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