Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.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#_Mutable - Fatal编程技术网

如何将标签链接到F#中的可变变量?

如何将标签链接到F#中的可变变量?,f#,mutable,F#,Mutable,我想在F#中创建一个标签,它使用可变变量返回一个值。不幸的是,F#将此标签设置为常量值。如果可变项的值更改,则标签的值保持不变。这不是有点不一致吗?有没有办法让标签(“a”)依赖于可变(“x”)呢 设可变x=0; 设a=x+2;//我不想将a设置为常量值 设b2=x+2; x int val c:int=3 val isConsistent:bool=false 从您自己的注释中,您希望a成为返回x+2的函数 直接翻译为: let mutable x = 0 let a () = x + 2

我想在F#中创建一个标签,它使用可变变量返回一个值。不幸的是,F#将此标签设置为常量值。如果可变项的值更改,则标签的值保持不变。这不是有点不一致吗?有没有办法让标签(“a”)依赖于可变(“x”)呢

设可变x=0;
设a=x+2;//我不想将a设置为常量值
设b2=x+2;
x int
val c:int=3
val isConsistent:bool=false

从您自己的注释中,您希望
a
成为返回x+2的函数
直接翻译为:

let mutable x = 0

let a () = x + 2
let b two = x + two

x <- 1

let c = b 2

let isConsistent = a () = c // don't forget to call the function 'a'

(*
val mutable x : int = 1
val a : unit -> int
val b : two:int -> int
val c : int = 3
val isConsistent : bool = true
*)
设可变x=0
设a()=x+2
设b 2=x+2

x从您自己的注释中,您希望
a
成为返回x+2的函数
直接翻译为:

let mutable x = 0

let a () = x + 2
let b two = x + two

x <- 1

let c = b 2

let isConsistent = a () = c // don't forget to call the function 'a'

(*
val mutable x : int = 1
val a : unit -> int
val b : two:int -> int
val c : int = 3
val isConsistent : bool = true
*)
设可变x=0
设a()=x+2
设b 2=x+2

如果您正在学习F#,为什么要使用
可变
。从我的观点来看,通过继承过程语言和面向对象语言的思想来学习函数式编程是一个坏主意。我不想自己改变函数式编程。我希望'a'是一个返回x+的函数2@checkThisOut所以让它成为一个有趣的函数:
让a=x+2;//我不想将a设置为常量值
它不是常量值,而是一个值。如果您正在学习F#,为什么要使用
可变
。从我的观点来看,通过继承过程语言和面向对象语言的思想来学习函数式编程是一个坏主意。我不想自己改变函数式编程。我希望'a'是一个返回x+的函数2@checkThisOut所以让它成为一个有趣的函数:
让a=x+2;//我不想将a设置为常量值
它不是常量值,而是一个值。