【发布时间】:2021-06-23 08:13:44
【问题描述】:
我有一个程序试图接收一个整数列表并返回一个包含所有奇数的整数列表,我是函数式编程的新手,正在尝试用 F# 学习它。当我尝试在main 中调用removeEvens 时,它给了我这个错误
Error FS0001 This expression was expected to have type
'int list -> 'a'
but here has type
''b list'
这是我的代码
open System
let rec removeEvens arr count ret =
if count < 0 then
ret
else
if count % 2 = 0 then
removeEvens arr (count + 1) ret
else
removeEvens arr (count + 1) (arr[count] :: ret)
let rec printResults arr count =
if count > 0 then
printfn "%d" (arr[count])
printResults arr (count + 1)
[<EntryPoint>]
let main argv =
printResults (removeEvens [0 .. 100] 0 []) 0
0
【问题讨论】: