我们的教授要求我们考虑OCaml中具有以下类型的函数
'a -> 'b
即,一个参数的函数可以是任何东西,并且可以返回不同的任何东西。
我想到了raise
在忽略其参数的函数中使用:
let f x = raise Exit
但是这位教授说,有一种解决方案不需要标准库中的任何功能。我很困惑:'b
如果一开始就没有一个,怎么办?
我在这里而不是在Stack Overflow上问是因为我想了解发生了什么,我不想只看一个没有解释的程序。
raise
的解决方案会有所帮助,那么我们知道如何最好地解释您的教授正在寻找的解决方案(其工作raise
原理与工作原理相同)的原因。
raise : exn -> 'a
所以我可以获得返回值,我只是忽略了该参数。