【问题标题】:int*string list fsharpint*string 列表 fsharp
【发布时间】:2013-02-24 22:46:13
【问题描述】:

我将如何操作以下 int*string 列表以仅获取列表中的“字符串”部分作为我的输出?

let item =[
 (12,"sausages");
 (3,"chips");
 (5,"burger");
 (19,"cheese");
 (24,"milk");
 (44,"eggs");
 ]

我从 listfilter 开始。有人可以建议如何正确过滤吗?

【问题讨论】:

  • List.filter向我们展示你的代码,以及哪里出错了......

标签: string list f# int


【解决方案1】:

简单的方法:

item |> List.map snd

【讨论】:

  • 这仍然返回一个 int*string 列表。我只想要自己的话。这可能吗?
  • 不,它不会——它返回一个string list。把它放到 F# interactive 或 tryfsharp.org 中,你就会看到。
  • @user2093122 - 这是不正确的。请发布您正在运行的所有代码
【解决方案2】:
item |> List.map (fun (_, y) -> y)

【讨论】:

  • 这只是返回一个 int*string 列表
  • 不,不是:> item |> List.map (fun (_, y) -> y);;验证它:字符串列表 = [“香肠”; “筹码”; “汉堡包”; “起司”; “牛奶”; “鸡蛋”]
  • 这是我得到的 val item : (int * string) list = [(12, "sausages"); (3,“筹码”); (5,“汉堡”); (19,“奶酪”); (24,“牛奶”); (44, "鸡蛋")]
  • 现在将我的代码块粘贴到 fsi 中并查看结果... :)
  • 您应该有第二行输出 - List.map 的评估。我不知道为什么它不显示给你。在这里查看:tryfsharp.org/Create
猜你喜欢
  • 2013-02-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-10
  • 1970-01-01
  • 2022-11-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多