Ним-Ланг: понимание списка с двумя переменными

Запутался в том, как выполнить понимание списка, используя две переменные.

Вот что я пытаюсь сделать до сих пор:

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

Другие вопросы по тегам