1

両方の参照を交換したいのですが、そのような構成を機能させる良い方法はありますか?

 let mutable sarlast = ref (Array.copy ar)
 let mutable sarcurr = ref (Array.copy ar)
 ... some code ...

 sarcurr, sarlast <- sarlast, sarcurr
4

1 に答える 1

3

いいえ、<-単一の割り当てであり、F#ではタプルは不変です。

この目的のために中置関数を定義できます(@bytebusterによるワンライナーの提案):

let (>-<) x y = let temp = !x in x := !y; y := temp

// Usage
let a = ref [|1|]
let b = ref [|2|]
a >-< b
于 2012-06-17T13:35:23.207 に答える