加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl6 – 如何推送到数组的哈希键?

发布时间:2020-12-15 21:47:28 所属栏目:大数据 来源:网络整理
导读:我试图在Perl6中推送数组的哈希. perl5等价物是: my %c;@{ $c{'USA'} } = qw(Seattle Madison Bozeman Portland);push @{ $c{'USA'} },'Philadelphia'; 但这在Perl6中: my %c;%cUSA = 'Seattle','Madison','Bozeman','Portland';%c{'USA'}.append: 'Philad
我试图在Perl6中推送数组的哈希.

perl5等价物是:

my %c;
@{ $c{'USA'} } = qw(Seattle Madison Bozeman Portland);
push @{ $c{'USA'} },'Philadelphia';

但这在Perl6中:

my %c;
%c<USA> = 'Seattle','Madison','Bozeman','Portland';
%c{'USA'}.append: 'Philadelphia';

给出了这个错误

Cannot call ‘append’ on an immutable ‘List’

对于Perl6的推送,我得到了类似的错误,这似乎没问题,因为https://docs.perl6.org/routine/push的例子显示%h< a> .push(1);尝试%c< USA> .push(‘费城’)也失败了

我在这做错了什么?我没有在搜索引擎结果上看到此错误

解决方法

my %c;
%c<USA> = ['Seattle','Portland'];
%c{'USA'}.append: 'Philadelphia';

括号为Array而不是List

链接到Lists,sequences,and arrays文档解释了差异,主要是List是不可变的,而Array不是.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读