Найти индекс элемента в массиве в Perl 6 - PullRequest
0 голосов
/ 09 мая 2018

Как найти индекс элемента в массиве?

Например, учитывая

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

Как мне найти индекс для 'Thursday'?

Ответы [ 2 ]

0 голосов
/ 10 мая 2018

Вы можете использовать first (или grep, если хотите знать обо всех совпадениях, а не только о первом) с :k, чтобы вернуть ключ (который для списка всегда целочисленный индекс) вместо значения:

say @weekdays.first('Tuesday', :k);  # 1
0 голосов
/ 09 мая 2018

Мое первоначальное решение:

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

Затем JFerrero опубликовал свое решение по улучшению, используя antipairs :

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

И ультимато отправил наречие решение:

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