f# 中的赋值运算符
我在 ruby 以及 powershell 编程中看到我们可以分配像 a,b=b,a 这样的变量。它实际上交换了变量。
这在 f# 中可能吗?如果可以,请指导我一些参考
i have seen in ruby as well powershell programming we can assign variables like a,b=b,a . it actually swaps the variable .
Is this possible in f# if so please guide me with some reference
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
通常,F# 不允许变量重新分配。相反,它支持通过 let 绑定获得不可变的命名值。因此,以下情况是不可能的:
除非您显式地将
a
标记为mutable
:但是,F# 在大多数情况下允许变量“遮蔽”。对此的唯一限制是它不能在顶级模块上完成。但是,例如,在一个函数中,以下内容可以正常工作:
Generally, F# doesn't allow variable re-assignment. Rather it favors immutable named values via let bindings. So, the following is not possible:
Unless you explicitly mark
a
asmutable
:However, F# does allow in most situations variable "shadowing". The only restriction to this is that it can not be done on top level modules. But, within a function, for example, the following works fine: