声明一个函数SML

时间:2010-10-10 10:51:05

标签: sml

如何声明函数suffixsen:string list - >字符串列表?

2 个答案:

答案 0 :(得分:2)

在sml中定义带有一个参数的函数的语法是:

fun functionName argumentName = functionBody

fun functionName (argumentName : argumentType) = functionBody

如果要明确指定类型。因此,要定义类型为suffixsen的名为string list -> string list的函数,您可以执行以下操作:

fun suffixsen (strings : string list) = someExpressionThatReturnsAStringList

编辑以回复您的评论:

为了将“son”附加到列表中的每个字符串,您应该查看连接字符串的^运算符[1]和为每个元素执行操作的map function在列表中。

[1] http://www.standardml.org/Basis/string.html#SIG:STRING.^:VAL(在浏览器中复制并粘贴此链接 - 出于某种原因,我无法将其设为可点击)

答案 1 :(得分:2)

在parens中声明类型后,使用 :return-type 在外部声明函数的返回类型。至少在SMLnj。我通过反复试验找到了这个,找不到它的文档。

fun suffixson (xs: string list ): string list =
    map (fn x => x ^ "son") xs