Sml ML程序查找给定列表的首字母缩略词

Sml ML程序查找给定列表的首字母缩略词,sml,ml,Sml,Ml,我正在研究和学习ML语言。我遇到一个问题,很难解决。我肯定我会使用遍历、大小和子字符串函数,但我不能用某种方式来表达,我有点困惑。你能帮忙吗 问题: val x = [ ["National", "Aeronautics", "and", "Space", "Administration"] , ["The", "North", "Atlantic", "Treaty", "Organization"] ] 样本运行: val it = [ {acronym="

我正在研究和学习ML语言。我遇到一个问题,很难解决。我肯定我会使用遍历、大小和子字符串函数,但我不能用某种方式来表达,我有点困惑。你能帮忙吗

问题:

val x = [ ["National", "Aeronautics", "and", "Space", "Administration"]
        , ["The", "North", "Atlantic", "Treaty", "Organization"]
        ]
样本运行:

val it = [ {acronym="NASA", name="National Aeronautics and Space Administration"},
         , {acronym="NATO", name="The North Atlantic Treaty Organization"}
         ]
       : nm list

查看您问题中的信息,我猜问题的目标是编写一个函数
首字母缩略词
,它符合以下规范。我已经对类型进行了一些重命名,以使其更清晰:

type words = string list
type summary = {acronym : string, name : string}

val acronyms : words list -> summary list
此函数获取组织名称列表(已拆分为单词)并生成摘要列表。输出中的每个摘要描述了输入中对应的组织

棘手的部分是编写一个函数
首字母缩略词:words->summary
,用于计算单个摘要。比如说,

- acronym ["National", "Aeronautics", "and", "Space", "Administration"];
val it = {acronym="NASA",name="National Aeronautics and Space Administration"}
  : summary
拥有此功能后,可以使用
列表将其应用于输入的每个组织名称。map

fun acronyms orgs = List.map acronym orgs

我将把
首字母缩略词
功能留给您。作为一个开始的提示,考虑过滤单词列表来删除“and”和“the”之类的单词。

查看你的问题中的信息,我猜问题的目的是写一个函数<代码>首字母缩写词< /代码>,满足以下规范。我已经对类型进行了一些重命名,以使其更清晰:

type words = string list
type summary = {acronym : string, name : string}

val acronyms : words list -> summary list
此函数获取组织名称列表(已拆分为单词)并生成摘要列表。输出中的每个摘要描述了输入中对应的组织

棘手的部分是编写一个函数
首字母缩略词:words->summary
,用于计算单个摘要。比如说,

- acronym ["National", "Aeronautics", "and", "Space", "Administration"];
val it = {acronym="NASA",name="National Aeronautics and Space Administration"}
  : summary
拥有此功能后,可以使用
列表将其应用于输入的每个组织名称。map

fun acronyms orgs = List.map acronym orgs

我将把
首字母缩略词
功能留给您。作为开始的提示,考虑过滤单词列表来删除单词“and”和“the”。

你试过什么?你得到了什么?我们不只是为人们编写代码。我试图解决这个问题。我编写了这种类型的acro={n:string,n1:string,n2:string,n3:string,n4:string,n5:string,n6:string,n7:string};val h:acro={n=“国家”,n1=“航空”,n2=“和”,n3=“空间”,n4=“管理”,n5=“”,n6=“”,n7=“”;val k:acro={n=“The”,n1=“North”,n2=“Atlantic”,n3=“Treaty”,n4=“Organization”,n5=“”,n6=“”,n7=“”;但是我不能把它和函数结合起来。你想做什么还不太清楚。你用什么标准来抛弃“and”和“the”,这样你就不会以“NAASA”和“TNATO”结尾?同样——尝试使用缩写词的类型似乎没有动机。它们只是字符串,您只需要编写一个函数,该函数将获取字符串列表并返回单个字符串。您尝试了什么?你得到了什么?我们不只是为人们编写代码。我试图解决这个问题。我编写了这种类型的acro={n:string,n1:string,n2:string,n3:string,n4:string,n5:string,n6:string,n7:string};val h:acro={n=“国家”,n1=“航空”,n2=“和”,n3=“空间”,n4=“管理”,n5=“”,n6=“”,n7=“”;val k:acro={n=“The”,n1=“North”,n2=“Atlantic”,n3=“Treaty”,n4=“Organization”,n5=“”,n6=“”,n7=“”;但是我不能把它和函数结合起来。你想做什么还不太清楚。你用什么标准来抛弃“and”和“the”,这样你就不会以“NAASA”和“TNATO”结尾?同样——尝试使用缩写词的类型似乎没有动机。它们只是字符串,您只需编写一个函数,该函数将获取字符串列表并返回单个字符串。