我正在尝试打印以下_reverse_efficient函数的输出,并且在运行程序时未实现最后两行以打印输出,则该函数可以正常编译,但是当包括后两行以打印输出时然后我得到一个错误。请我需要帮助来解决此问题,以下是我的代码:
Console.Write("Enter your input: ")
let L = Console.ReadLine()
let rec _reverse_efficient L R=
match L with
| [] -> R
|e::rest -> _reverse_efficient rest (e::R)
let Q = _reverse_efficient L []
printfn "Reverse list is: %A" Q
答案 0 :(得分:0)
这是错误消息:
"typecheck: This expression was expected to have type
''a list'
but here has type
'string' ".
在此行:
let Q = _reverse_efficient L []
基本上,它抱怨L
是string
而不是list
。
这是因为Console.ReadLine
返回了string
。您需要先以某种方式将输入转换为list
,然后再调用_reverse_efficient