【发布时间】:2015-09-19 00:34:41
【问题描述】:
以下代码报错:
let alpha = Hashtbl.create 26 in
let print_and_add a =
print_char a;
Hashtbl.add alpha a true;;
let str = read_line () in
String.iter (fun x -> if Hashtbl.mem alpha x=false then print_and_add x) str
它应该做什么:每次调用函数时(使用 char 参数),它应该打印 char,并将其添加到哈希表(alpha)中。 我尝试对函数使用其他语法:
let alpha = Hashtbl.create 26 in
let print_and_add = (fun a ->
print_char a;
Hashtbl.add alpha a true) in
let str = read_line () in
String.iter (fun x -> if Hashtbl.mem alpha x=false then print_and_add x) str
但我仍然想知道为什么第一个代码会失败。 - 感谢您的帮助。
【问题讨论】:
标签: function functional-programming ocaml