2つの参照呼び出しの内容を交換する関数を書いています。
let swap (x : a ref) (y :'a ref) : unit =
どこ
type 'a ref = {mutable contents : 'a}
これを解決するためにどのようなアプローチを取るべきかわかりません。パターンマッチングを使用しますか?
これは私のテストケースです
let test () : bool =
let r1 = { contents = 5 } in
let r2 = { contents = 6 } in
let _ = swap r1 r2 in
((6,5) = (r1.contents,r2.contents))
;; run_test "Swap different" test