1
我想使用F#的List.map函數來調用我寫入數組中每個字符串的函數。下面是我寫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#沒有實現輸入的結果有關.split可以與map函數一起使用,因爲它是一個字符串數組。我只是不知道如何改變代碼,因此它完成了我想完成的任務。我對F#比較新,所以我可以得到任何幫助,我將不勝感激!
那,或者'Seq.map'。 –
哇,很簡單,謝謝! –