sml创建一个返回列表的第n个元素的方法

时间:2018-10-16 00:05:16

标签: list indexing pattern-matching smlnj

我正在尝试实现一种具有与列表相同功能的方法。在sml中,这是我的代码。

fun get (nil, _) = nil
| get (a::b, num) =
     let 
      val x = if (num = 1) then a
            else get (b, num-1)
     in  
        x   
     end;

出现以下错误:

操作员域:'Z列表* int   操作数:[int ty]列表* [int ty]   表达:     得到(1 :: 2 :: ::,1)

它不断读取单个列表作为列表列表,例如([[1,2]])。任何帮助将不胜感激!

0 个答案:

没有答案