在函数-SML中列出编号1到n

在函数-SML中列出编号1到n,sml,ml,Sml,Ml,我需要在sml中创建一个函数,它接受一个数字,并返回一个列表,其中列出了它下面的所有素数。我可以这样做,但我不知道如何创建一个列表,以便我可以使用它来查看1是素数,然后是2,然后是3,然后是4,然后是5,依此类推 基本上,我需要一种在SML函数内部生成列表的方法,该列表的数字从2到n。该函数将为您填充一个列表。下面是一个例子,给出数字[2..n]: 该函数将为您填充一个列表。下面是一个例子,给出数字[2..n]: 我发现我们不能使用外部库来实现这一点,所以我实际上能够想出自己的解决方案。它计算从

我需要在sml中创建一个函数,它接受一个数字,并返回一个列表,其中列出了它下面的所有素数。我可以这样做,但我不知道如何创建一个列表,以便我可以使用它来查看1是素数,然后是2,然后是3,然后是4,然后是5,依此类推

基本上,我需要一种在SML函数内部生成列表的方法,该列表的数字从2到n。

该函数将为您填充一个列表。下面是一个例子,给出数字[2..n]:

该函数将为您填充一个列表。下面是一个例子,给出数字[2..n]:


我发现我们不能使用外部库来实现这一点,所以我实际上能够想出自己的解决方案。它计算从开始到结束的数字,但不包括结束的数字


我发现我们不能使用外部库来实现这一点,所以我实际上能够想出自己的解决方案。它计算从开始到结束的数字,但不包括结束的数字


这是返回一个列表还是将它存储在某个地方,我对函数式编程还不熟悉。它显然是返回列表还是将其存储在某个地方,我对函数式编程不熟悉。它很早以前就返回了它,但我想作为一个注释添加它会很好,你甚至不必告诉它开始和结束都是int。这就是类型推理的美。ML将看到您正在向start添加一个int,并且由于+的类型是int*int->int,它将推断start是int。然后您将在start和end之间执行相等检查,因此end也必须是int!非常甜蜜不?如果开始=结束,那么[结束]。。。对我来说很有用。很久以前,但我想作为一个注释添加它会很好,你甚至不必告诉它开始和结束都是int。这就是类型推理的美。ML将看到您正在向start添加一个int,并且由于+的类型是int*int->int,它将推断start是int。然后您将在start和end之间执行相等检查,因此end也必须是int!非常甜蜜不?如果开始=结束,那么[结束]。。。对我有用。
List.tabulate(n-1, fn x => x+2);
fun createList(start:int, ending:int) = if(start = ending) then
                       []
                    else
                       start::createList(start + 1, ending);