【问题标题】:remove last element of a list sml by keeping the list in a val通过将列表保留在 val 中来删除列表 sml 的最后一个元素
【发布时间】:2013-04-19 11:15:18
【问题描述】:

如何在标准 ML 中删除列表中的最后一个元素? 我有一个列表定义为:

val list = [1, 4, 6, 8, 9]

我想删除最后一个元素并将列表放在val list 中。

【问题讨论】:

  • 您能解释一下您的尝试吗?

标签: sml ml


【解决方案1】:

好吧,您有多种方法可以做到这一点。

  • 您可以将原始列表拆开,然后开始使用元素构建一个新列表,直到到达最后一个元素。

    fun f [] = ...
      | f [x] = ...
      | f (x::xs) = x :: ...
    
  • 或者您可以使用List.take 函数从列表中获取前i 个元素。显然你可以使用the List.length 函数来计算你不想从列表中取出多少元素。

    fun h xs = List.take (xs, ...)
    

【讨论】:

  • 是的,但这是一个例子,我想创建一个函数,它接受一个列表并返回没有 las 元素的列表。
  • 我已经给你两个很好的例子来说明如何做到这一点。
猜你喜欢
  • 1970-01-01
  • 2018-03-10
  • 2021-06-26
  • 2017-12-16
  • 2021-03-25
  • 1970-01-01
  • 1970-01-01
  • 2011-06-27
  • 1970-01-01
相关资源
最近更新 更多