嗨,有人可以帮我解释为什么我会得到
ERROR: Inserting EQUALOP
以下代码?
fun generator inchan outchan n = if n>0
then
(let
fun loop () =
val c = recv(outchan)
val _ = send (inchan, c)
in
(loop ();(generator inchan outchan (n-1)))
end)
else inchan;
答案 0 :(得分:3)
输入let
语句,然后定义一个函数。但是,在这个功能里面,你
似乎想要定义更多变量。为此,您需要另一个let
语句。没有它,您将收到类似的语法错误。
请尝试使用此代码:
fun loop () = send (inchan, recv (outchan))
或者,如果您希望单独的行更清晰:
fun loop () =
let
val c = recv (outchan)
in
send (inchan, c)
end
或者
fun loop () =
let
val c = recv (outchan)
val _ = send (inchan, c)
in
()
end