我正在编写一个匹配,其中我使用"when“表达式将匹配基数限制在函数f上。我想要绑定f的结果,以便在下面的表达式中使用。我希望我的代码看起来像这样:| input when f x input -> //Some exp where (f x input) is used but notrecomputed
| input when f y input -> //Some
我一直在尝试理解F#的各种知识(我有更多的C#背景),我对解析器很感兴趣,所以我立即阅读了这篇关于F#解析器组合器的博客文章:
/// If the stream startsCharParser (c: char) : Parser<char> = match stream with
| x::xs when
用于开始F#程序员是一个事实,以下是一个不完全匹配:match something with| _ when“这个表达式上的不完全模式匹配”警告,尽管模式匹配实际上是完全的。没有可能的树将不匹配该模式匹配,从移除包含when表达式的匹配的特定分支可以看出: match tree with
| Leaf n
我正在学习F#,我正在尝试下面的练习(用F#进行函数编程的练习4.10 )。
声明一个F#函数prefix:'a list -> 'a list -> bool when a:equality。表达式prefix[x_0;x_1;...;x_m] [y_0;y_1;...;y_n]的值为true,如果m<=n和x_i=y_i用于0<=i<=m,则为false。我想在这两个输入上使用模式匹配,但不确定如何使用curried