如何在调试器中检查函数的本地值?
我正试图将我的脑袋包裹在曲线和功能组合中。
这样做,我想利用调试器。 但是,在使用调试器时,我无法检查add函数中“a”和“b”的值。
let add a b =
a + b;; // set a breakpoint here
let addTen = add 10;;
let result = addTen 20;;
我甚至尝试使用以下方法打印值:
let add a b =
printfn "a equals: %a and b equals: %b" a b
a + b
我做错了什么?
答案 0 :(得分:2)
使用printfn
版本的问题是占位符错误。 %a
是一般格式说明符,需要两个参数,%b
需要bool
。
尝试将功能更改为:
let inline add a b =
printfn "a equals: %A and b equals: %A" a b
a + b
现在它打印出调试'应用所有参数时的文本:
> let addTen = add 10;;
val addTen : (int -> int)
> let result = addTen 20;;
a equals: 10 and b equals: 20
val result : int = 30