我在 ruby 以及 powershell 编程中看到我们可以分配像 a,b=b,a 这样的变量。它实际上交换了变量。
这在 f# 中是否可能,如果可以,请指导我一些引用
最佳答案
一般来说,F# 不允许变量重新赋值。相反,它支持通过 let 绑定(bind)获得不可变的命名值。因此,以下情况是不可能的:
let a = 3
a = 4
除非您明确将a
标记为可变
:
let mutable a = 3
a <- 4
但是,F# 在大多数情况下允许变量“隐藏”。对此的唯一限制是它不能在顶级模块上完成。但是,例如,在函数内,以下内容可以正常工作:
let f () =
let a,b = 1,2
let a,b = b,a //"swap"
a,b
关于f# - f# 中的赋值运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5534368/