在C ++中,您可以使用switch / case构造并省略case语句中的break以使执行通过下一个case进行。
在C#中,这是通过goto情况完成的。
可以在F#中完成吗?
一个C#示例来说明:
switch (a)
case "a":
...
break;
case "b":
...
goto case "a"
case "c":
...
我想像是:
match x with
| "a" -> ...
| "b" -> ... + goto "a"
一个实际的例子是:
并且您希望避免代码重复,但也要将代码放入外部函数中。
在C ++中,您可以进行switch / case构造,并省略case语句中的break以使执行通过下一个case进行。在C#中,这是通过goto情况完成的。可以在F#中完成吗? C#...
F#是一种基于表达式的语言,因此它没有像goto
这样的命令性功能。但是,您仍然可以表达相同的逻辑。首先,您可以组合“案例”:
let aFun() = ...
let bFun() = ...
let abFun() = aFun >> bFun