0

我试图在(意思是(cdr abcd)= bcd)中找到一个ML等于(cdr string)的库函数。Scheme

4

2 回答 2

1

(假设 SML)

另一种方法是将字符串转换为字符列表(explode),然后您可以选择采用头部(hd)或尾部(tl),然后最后将其转换回字符串(implode):

- (implode o tl o explode) "this is a string";
val it = "his is a string" : string

字符串转换函数可以在String模块中找到,head和tail函数可以在List模块中找到

显然你也可以在这里使用 substring 方法,但是在 SML 中你有extract函数,在这种情况下非常方便:

- String.extract("This is a string", 1, NONE);
val it = "his is a string" : string

给它NONE参数使它提取到字符串的末尾。

于 2011-11-25T08:56:29.247 回答
0

假设 Ocaml 方言,您可以使用标准String模块,例如

let rest_str str = 
  let slen = String.length str in
  String.sub str 1 (slen-1)
;;
于 2011-11-25T08:31:13.953 回答