{b => {c =-6ren">
gpt4 book ai didi

raku - 如何从函数传递指向容器的指针?

转载 作者:行者123 更新时间:2023-12-03 15:01:18 25 4
gpt4 key购买 nike

我可以将容器绑定(bind)到新名称:

my %h;
my $p := %h{ "a" }{ "b" }{ "c" };
$p = 1;
say %h;
预期的输出:
{a => {b => {c => 1}}}
但是如果我需要从子程序中返回这样的指针呢?
my %h;
sub get-pointer {
my $p := %h{ "a" }{ "b" }{ "c" };
return $p;
};
my $q := get-pointer();
$q = 1;
say %h;
给出:
Cannot assign to a readonly variable or a value
那件事让我很困惑 - $p.WHERE$q.WHERE给同样的地址,为什么突然变成只读了?

最佳答案

没关系,我有一些隧道视觉的时刻,并希望别名表现为 C 指针。
发现它在 Raku Documentation 这里有清楚的解释.

The sub return will return values, not containers. Those are immutable

To return a mutable container, use return-rw.

关于raku - 如何从函数传递指向容器的指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65675477/

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