gpt4 book ai didi

syntax - 如何在不伴随拳击操作(即逐项输入)的情况下将值分配给哈希键?

转载 作者:行者123 更新时间:2023-12-03 15:58:36 24 4
gpt4 key购买 nike

来自this SO question,我试图通过一种方式将List(通常是非标量的东西)作为分配给Hash键的值:

my %syns-by-name does Associative[Str,List] = Bq => ("Bq", "becquerel", "becquerels");
my Str @syns = %syns-by-name<Bq>;
但是,这不起作用。列表在分配之前是逐项列出的,因此该值始终为标量。您需要采取一种变通办法才能真正实现此目的:
my %syns-by-name does Associative[Str,List] = Bq => ("Bq", "becquerel", "becquerels");

my @list := <C coulomb coulombs>;
%syns-by-name<C> := @list;

my Str @syns = %syns-by-name<C>;
say @syns;
这将返回我们正在寻找的列表。但是,我们如何直接在作业上做到这一点并说服列表是列表而不是逐项列出的列表呢?

最佳答案

假设您以后不需要进行突变,请使用Map而不是Hash

my %syns-by-name is Map = Bq => ("Bq", "becquerel", "becquerels");
my Str @syns = %syns-by-name<Bq>;
say @syns; # [Bq becquerel becquerels]
由于不期望 Map中的条目是可分配的,因此不会为这些值创建 Scalar容器。

关于syntax - 如何在不伴随拳击操作(即逐项输入)的情况下将值分配给哈希键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65464550/

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