我想复制一个类似的函数 -
for i in range(10):
for j in range(10):
do something with i, j
在 SML 中是否有一种简单的方法可以做到这一点?
最佳答案
你当然可以这样做,但你应该考虑你是否真的想对 i, j 做一些事情
并丢弃结果。这本质上是命令式逻辑,而不是真正惯用的标准机器学习。
但如果这确实是您想要的,那么有几种方法。这是一个必要的:
let val i = ref 0
in while !i < 10 do
( let val j = ref 0
in while !j < 10 do
( do something with i, j
; j := !j + 1
)
end
; i := !i + 1
)
end
这是一个更惯用的:
let val range0To9 = List.tabulate (10, fn i => i)
in List.app range0To9 (fn i => List.app range0To9 (fn j => do something with i, j))
end
关于sml - 如何在两个整数范围内嵌套 for 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54337199/