gpt4 book ai didi

raku - 在类似哈希的事物中重复且唯一

转载 作者:行者123 更新时间:2023-12-04 06:52:40 25 4
gpt4 key购买 nike

repeated 方法将一个函数作为参数,在找出重复的元素之前对元素进行规范化。但是,我无法让它与 values 一起使用.例如:

%(:a(3),:b(3),:c(2)).repeated( as=> *.values ).say

返回一个空列表,而我期待的是 :a(3) 和 :b(3) 对,与
%(:a(3),:b(3),:c(2)).repeated( as=> .values ).say

例如,在这种情况下,它似乎按预期工作:
(3+3i, 3+2i, 2+1i).unique(as => *.re).say  # OUTPUT: «(3+3i 2+1i)␤»

知道我在这里缺少什么吗?

最佳答案

.values 是一种返回容器所有值的方法。
既然是List方法,如果你用奇异值调用它,它会假装它是 List仅包含该值。

say 5.values.perl;
# (5,)
as .repeated 的命名参数调用所有奇异值。
%(:a(3),:b(3),:c(2)).repeated( as=> *.perl.say );
# :a(3)
# :b(3)
# :c(2)
所以通过给它 *.values lambda,它实际上没有做任何有用的事情。

您要找的方法是 .value .这是 Pair 上的一个方法.
%(:a(3),:b(3),:c(2)).repeated( as=> *.value ).say
# (a => 3)

关于raku - 在类似哈希的事物中重复且唯一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54735691/

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