gpt4 book ai didi

perl - 在 Perl 的推送中使用条件运算符

转载 作者:行者123 更新时间:2023-12-02 16:11:25 24 4
gpt4 key购买 nike

我是 Perl 开发的新手,我想检查是否允许在推送语句中使用条件运算符。像这样

push(@myMap, {
key1 => value1,
key2 => value2,
(condition)?{
key3 => value3,
}:(),
key4 => value4
});

基本上我只想根据条件向 Map 添加一个值

最佳答案

是的,但是你的代码是错误的。

push(@myMap, {
key1 => value1,
key2 => value2,

(condition) ?
{ ### these brackets are wrong
key3 => value3,
} ###
:(),

key4 => value4
});

如果条件为真,则您正在创建一个包含奇数个元素的数据结构。它将包含单个哈希引用作为值之一,因此您不再有键/值对,它可能会提示。

它会尝试做你想做的事,基本上是将哈希引用转换成它的字符串表示,然后使用 key4 作为值,给你留下 value4undef 作为最后一对。

修复:

push(@myMap, {
key1 => value1,
key2 => value2,
(condition) ? ( key3 => value3 ) : (),
key4 => value4
});

关于perl - 在 Perl 的推送中使用条件运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67903415/

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