Параллельный цикл с одним списком литералов - PullRequest
0 голосов
/ 30 августа 2018

Я пытаюсь зациклить два списка, один из которых является предварительно созданным списком, а другой - литералом списка. Возможно ли что-то подобное?

Пример псевдокода:

list(list1 APPEND 0 1 2 3 4)

foreach(item IN LISTS ${list1} 5 6 7 8 9)
    message(${item} ${#other variable})  
endforeach(item)

# prints out 

0 5
1 6
... etc

1 Ответ

0 голосов
/ 30 августа 2018

Для итерации по нескольким спискам одновременно вы можете использовать цикл foreach по их показателям . Затем в теле цикла получите доступ к элементам списков по этому индексу:

# Setup content of the lists somehow
set(list1 0 1 2 3 4)
set(list2 5 6 7 8 9)

list(LENGTH list1 n_elems) # Total number of the elements in the every list
math(EXPR last_index "${n_elems}-1") # The last index in the every list

# Now iterate over indicies
foreach(i RANGE ${last_index})
    list(GET list1 ${i} elem1) # Element in the first list
    list(GET list2 ${i} elem2) # Corresponded element in the second list
    # Do something with elements
    message("${elem1} ${elem2}")
endforeach()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...