由于我在程序中使用了很多Printf.fprintf stdout ...
,我想用更短的函数重命名它。所以我写道:
let p = Printf.fprintf stdout
我希望p "%s" "string"
有效。但是,编译会出错:
File "lib/utility.ml", line 27, characters 8-29:
Error: The type of this expression, ('_a, out_channel, unit) format -> '_a,
contains type variables that cannot be generalized
有没有人有想法重命名它以便应用程序尽可能简单?
答案 0 :(得分:1)
我认为如果你扩展你的定义它会起作用:
let p fmt = Printf.fprintf stdout fmt