【问题标题】:How do you get elements from list of tuples in SML?如何从 SML 中的元组列表中获取元素?
【发布时间】:2013-11-28 11:36:41
【问题描述】:

我刚开始学习 SML,现在我想知道如何从元组列表中获取元素?假设我有列表 [(#"D", 7), (#"E", 5), (#"M", 1), (#"N", 6), (#"O", 0 ), (#"R", 8), (#"S", 9), (#"Y", 2)] 并且只想要整数,所以我可以像 7 + 5 + 1 + 6 + 0 + 8 一样将它们加在一起+ 9 + 2。这可能吗,如果可以,怎么做?

【问题讨论】:

  • 如果您是该语言的初学者,最好尝试创建一个递归函数来总结元组的整数分量。工作量不大,这样您就可以深入了解 ML。
  • 是的,这就是我想要做的,但我无法让它工作。但是谢谢你的提示,我想我最终会做对的!
  • 编辑您的帖子,让我们知道您已经尝试过什么,这样您将获得更具体的建议。 - 哦,欢迎来到 Stack Overflow!

标签: sml


【解决方案1】:

以下获取包含元组的所有第二个元素的列表 - 即示例列表中的整数。

fun getSeconds []          = []
  | getSeconds ((_,x)::xs) = x :: getSeconds xs

如果您想随时添加它们:

fun sumSeconds []          = 0
  | sumSeconds ((_,x)::xs) = x + sumSeconds xs

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多