我是 Ocaml 的新手,我试图弄清楚这个函数是如何工作的:
let ccc c1 c2 c3 = fun (s1, s2, s3) n ->
let (t1, r1) = (c1 s1 2) in
if r1 = 0
then let (t2, r2) = (c2 s2 n) in ((t1, t2, s3), r2)
else let (t3, r3) = (c3 s3 n) in ((t1, s2, t3), r3) ;;
c1, c2, c3
都是“选择者”。我知道该函数的目的是接收 3 个选择器,让第一个选择器选择要使用的其他两个选择器中的哪一个,但我对语法感到困惑。谁能解释一下?谢谢!