【发布时间】:2019-10-12 15:22:31
【问题描述】:
我正在尝试编写一个 fcn,它接受一个元组列表和一个表达式(我正在研究一个后缀表达式 eval)。这个函数应该遍历表达式并在元组中找到相同的字母。如果匹配,则返回与元组中该字母对应的 int 值。当我运行下面的代码时,我的程序编译并运行,但它在执行期间挂起。我做错了什么?
let rec getVar ls exp =
match ls with
|head::tl when (fst head) = exp -> printfn "%d" (snd head)
| _ -> getVar ls exp
let ls = [("a",5);("b",2);("c",3)]
let exp = "ab+"
getVar ls exp
【问题讨论】:
-
请不要以现有答案不再有意义的方式编辑您的问题。如果您还有其他问题,请提出其他问题,不要重复使用旧问题。
标签: f# pattern-matching