Ним-Ланг: понимание списка с двумя переменными
Запутался в том, как выполнить понимание списка, используя две переменные.
Вот что я пытаюсь сделать до сих пор:
let profile_row = lc[profile[r][c] | ( r <- 0..<4, c <- 0..<k ), int]
Вот ошибка:
greedy_motif_ba2d.nim(22, 40) Error: type mismatch: got <seq[int], float>
Как это правильно сделать?
1 ответ
Оказывается, что способ, которым я это сделал, действительно работает, просто нужно было изменить тип.
let profile_row = lc[profile[r][c] | ( r <- 0..<4, c <- 0..<k ), float]
Поскольку Nim 1.2 lc был удален, вот как это сделать для всех, кто ищет сегодня:
let profile_row = collect(newSeq):
for r in 0..<4:
for c in 0..<4:
profile[r][c]
заметка
collect
устраняет необходимость указывать тип
profile[r][c]
но требует, чтобы вы предоставили процесс инициализации для контейнера
profile_row