我需要在 sml 中创建一个函数,该函数接受一个数字并返回其下方所有素数的列表。我可以这样做,但我不知道如何创建一个列表,所以我可以用来查看 1 是否是素数,然后是 2,然后是 3,然后是 4,然后是 5,依此类推。
基本上我需要一种在 SML 函数内生成列表的方法,并且该列表的数字从 2 到 n。
List.tabulate函数将为您填充一个列表。这是一个例子,给你数字[2..n]
:
List.tabulate(n-1, fn x => x+2);
我发现我们不能为此使用外部库,所以我实际上能够提出自己的解决方案。它的数字从start
到最多,但不包括,ending
fun createList(start:int, ending:int) = if(start = ending) then
[]
else
start::createList(start + 1, ending);