相关疑难解决方法(0)

ocam中的{X with value}

我在Yacfe示例中看到了以下函数调用:

  Visitor_c.vk_program { Visitor_c.default_visitor_c with
    Visitor_c.kexpr = (fun (k, bigf) exp -> 
      match Ast_c.unwrap_expr exp with
      | Binary(e1, Logical (Eq), (((Constant(Int("0")) as _e2),_t),ii)) -> 

          (match Ast_c.get_onlytype_expr e1 with 
          | Some (qu, (Pointer _,_ii)) -> 

              let idzero = Common.tuple_of_list1 ii in
              idzero.cocci_tag := 
                Ast_cocci.MINUS (Ast_cocci.NoPos, [[null_addon]]), [];

          | _ -> k exp
          )
      | _ -> k exp
    );
  } ast;
Run Code Online (Sandbox Code Playgroud)

我可以看到一个函数调用,其中记录初始化为第一个参数,并ast作为第二个参数.

我不熟悉的是表单的语法:

{Visitor_c.default_visitor_c with Visitor_c.kexpr = some_value;}
Run Code Online (Sandbox Code Playgroud)

这意味着什么?我知道记录可以初始化{name=value;name=value;...},但是我不熟悉{X with name=value},你能告诉我它意味着什么吗?

我在Ocaml手册中 …

ocaml

28
推荐指数
2
解决办法
7849
查看次数

标签 统计

ocaml ×1