gpt4 book ai didi

generics - F#:使用 List.map 调用一系列方法中的方法

转载 作者:行者123 更新时间:2023-12-04 18:23:30 25 4
gpt4 key购买 nike

基本上我有一个方法列表,我想遍历、调用这些方法并返回方法返回值的列表。我可以使用 Linq 语法让它工作。

member public x.TakeIn(methodList : seq<(String -> Int32)>, input:String) =
methodList.Select((fun (item:String -> Int32) -> item(input))).ToList()

但是我无法让 map 工作,我猜这是我缺乏 F# 语法知识。

member public x.TakeIn(methodList : seq<(String -> Int32)>, input:String) =
methodList |> List.map (fun (item) -> item(input))

这不应该意味着 map 方法将接受一个 seq<(String -> Int32)>,遍历,调用每个方法,并返回一个 Int32 列表吗?

最佳答案

因为 methodList 是 F# 中的一个序列,您不能将它视为一个列表(它是它的子类型之一)。因此,请确保对序列使用高阶函数并将结果转换为列表:

member public x.TakeIn(methodList : seq<(String -> Int32)>, input:String) =
methodList |> Seq.map (fun (item) -> item(input)) |> Seq.toList

关于generics - F#:使用 List.map 调用一系列方法中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8083702/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com