gpt4 book ai didi

lambda - F# 在字符串数组上使用 List.map

转载 作者:行者123 更新时间:2023-12-05 01:20:08 25 4
gpt4 key购买 nike

我正在尝试使用 F# 的 List.map 函数来调用我在数组中的每个字符串上编写的函数。这是我写的函数

(*Takes a string and filters it down to common text characters*)
let filterWord wordToFilter =
Regex.Replace(wordToFilter, "[^a-zA-Z0-9/!\'?.-]", "");

这是我调用它的主要方法

(*Main method of the program*)
[<EntryPoint>]
let main argsv =
let input = File.ReadAllText("Alice in Wonderland.txt"); //Reads all the text into a single string
let unfilteredWords = input.Split(' ');
let filteredWords = unfilteredWords |> List.map(fun x -> filterWord(x));
0;

问题是我在调用 List.map 时遇到语法错误

Error       Type mismatch. Expecting a
string [] -> 'a
but given a
'b list -> 'c list
The type 'string []' does not match the type ''a list'

将 input.split 更改为硬编码字符串数组可以修复错误,因此它与 F# 没有实现 input.split 的结果有关,因为它是一个字符串数组,因此可以与 map 函数一起使用。我只是不知道如何更改代码以使其完成我想要完成的事情。我是 F# 的新手,所以我将不胜感激任何帮助!

最佳答案

F# not realizing the result of input.split can be used with the map function as it's a string array

List.map 适用于 list,因此 F# 意识到结果不能List.map< 一起使用。使用 Array.map (适用于数组)。

关于lambda - F# 在字符串数组上使用 List.map,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33333488/

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