0
fun make_alt_record (stringlists, {x, y, z}) =
    case generate_alts (stringlists, x) of
    [] => {x, y, z}
      | alt::stringlists' => {name, y, z} 

generate_alts 使用一个字符串列表 list 和一个字符串,并生成一个字符串列表。make_alt_record 应该生成一个新记录。

相反,它会生成错误,如下所示:

hw2provided.sml:48.6-48.8 Error: syntax error: replacing  DARROW with  LPAREN
hw2provided.sml:49.23-49.25 Error: syntax error: replacing  DARROW with  AS
hw2provided.sml:65.1 Error: syntax error found at EOF
4

1 回答 1

0

您的记录语法错误。您可以对记录进行模式匹配,但不能通过双关语来创建它们。你需要,例如

  [] => {x = x, y = y, z = z}
| ... => {x = name, y = y, z = z}
于 2013-10-21T22:23:34.563 回答