在Perl 6中查找数组中的元素索引

时间:2018-05-09 04:39:09

标签: perl6

如何在数组中找到元素的索引?

例如,给定

my @weekdays = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];

我怎样才能找到'Thursday'的索引?

2 个答案:

答案 0 :(得分:7)

我最初的解决方案:

@weekdays.kv.reverse.hash.{'Thursday'} # 3

然后JFerrero使用 antipairs 发布了他的改进解决方案:

@weekdays.antipairs.hash.{'Thursday'} # 3

ultimatto发布了 adverb 解决方案:

@weekdays.first('Thursday', :k)  # 3

答案 1 :(得分:2)

您可以使用first(或grep,如果您想了解所有匹配项,而不仅仅是第一项,请:k返回密钥(对于列表是始终是一个整数索引)而不是值:

say @weekdays.first('Tuesday', :k);  # 1