let x = 132;;
let f x =
let x = 15 in (fun x -> print_int x) 150;;
f 2;;
输出为 150。
我的问题是:为什么“print_int”还没有执行?那是因为fun x-> print_int x
只定义了一个功能,但还不需要执行?内部函数是否只是简单地打印 15?
我想回应我的猜测,当我将代码修改为:
# let x = 132;;
val x : int = 132
# let f x =
let x = 15 in (let g x = print_int x) 150;;
Error: Syntax error
提示错误。为什么?(我只是想将函数命名为“g”,但语法错误?)
任何人都可以帮忙吗?谢谢