gpt4 book ai didi

function - 调用函数时用变量替换散列

转载 作者:行者123 更新时间:2023-12-05 08:37:47 26 4
gpt4 key购买 nike

我想做的是替换函数调用:

my_function({'param1' => 123, 'param2' => 456});

与:

my %tmp = {'param1' => 123, 'param2' => 456};
my_function(%tmp);

我收到运行时错误消息:

Can't use string ("HASH(0x16cffb0)") as a HASH ref while "strict refs" in use

我做错了什么?

最佳答案

这不是你想要的:

my %tmp = {param1 => 123, param2 => 456};

您正在尝试将哈希引用分配给哈希。这会引发警告:

Reference found where even-sized list expected at -e line 4.

道德:总是使用严格;使用警告;,因此可以快速发现此类错误。

您的函数似乎将散列引用 作为参数。所以要么构建一个散列并通过引用传递它:

my %tmp = (param1 => 123, param2 => 456);
my_function(\%tmp);

或者构建一个散列引用并按原样传递它:

my $tmp = {param1 => 123, param2 => 456};
my_function($tmp);

关于function - 调用函数时用变量替换散列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64379857/

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