我需要基于要作为功能参数传递的分隔符,将字符串标记化为Standard ML中的单词列表。这是我到目前为止的代码:
val splitter = String.token(fn (c:string,x:char) => c=x);
我尝试过,但是我知道它是错误的。请帮助我进行修改。
答案 0 :(得分:1)
c
的类型为字符串,而x
的类型为char。它们不可比。您可以使用Char.toString将x转换为字符串。
splitter = String.token(fn (c:string,x:char) => c=Char.toString x);
答案 1 :(得分:0)
没有称为String.token
的标准库函数,但也许您的意思是String.tokens
:
- String.tokens;
> val it = fn : (char -> bool) -> string -> string list
您并不是说分隔符是string
还是char
,而是假设它是char
,
fun splitter sep s = String.tokens (fn c => c = sep) s
您也可以这样定义
fun curry f a b = f (a, b)
val splitter = String.tokens o curry op=