对如何使用两个变量执行列表理解感到困惑。
这是我到目前为止想要做的:
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>
这如何正确完成?
答案 0 :(得分:2)
由于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
提供初始化过程
答案 1 :(得分:0)
事实证明,我所做的工作确实有效,只需要更改类型即可。
let profile_row = lc[profile[r][c] | ( r <- 0..<4, c <- 0..<k ), float]