Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
F# F中的并行可变赋值#_F# - Fatal编程技术网

F# F中的并行可变赋值#

F# F中的并行可变赋值#,f#,F#,我想交换两个引用,有没有一个好的方法让这样的构造工作 let mutable sarlast = ref (Array.copy ar) let mutable sarcurr = ref (Array.copy ar) ... some code ... sarcurr, sarlast <- sarlast, sarcurr let mutable sarlast=ref(Array.copy ar) 设可变sarcurr=ref(Array.copy ar) ... 一些

我想交换两个引用,有没有一个好的方法让这样的构造工作

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

 sarcurr, sarlast <- sarlast, sarcurr
let mutable sarlast=ref(Array.copy ar)
设可变sarcurr=ref(Array.copy ar)
... 一些代码。。。
sarcurr,sarlast否,
--
甚至更短:
let(>-let temp=ref(!x)不是琐碎的,而是相当有趣的illustrative@bytebuster很好的一个例子…挤压langage果汁直到最后一滴如果我必须这样做,那么只需要使用一个普通的命名函数,而不是符号运算符>-ref
e类型!很好。数组已经是引用类型了,所以没有必要再使用ref了。我想这是一个很好的例子,说明了“引用透明性”,如果不是很好的代码的话。
let (>-<) x y = let temp = !x in x := !y; y := temp

// Usage
let a = ref [|1|]
let b = ref [|2|]
a >-< b