小编Nul*_*ter的帖子

OCaml:如何以pythonic方式构造格式化字符串?

所有这些都从一个简单的想法开始:如何在ocaml中编写python样式的格式化字符串.

pythoners可以初始化一个字符串:

str = "this var: %s" % this_var
str2 = "this: %s; that: %s" % (this_var, that_var)
Run Code Online (Sandbox Code Playgroud)

但ocaml的格式化字符串代码为:

let str = Printf.sprintf "this var: %s" this_var
let str2 = Printf.sprintf "this: %s; that: %s" this_var that_var
Run Code Online (Sandbox Code Playgroud)

我相信我可以做ochl字符串格式化代码python-like首先,我定义了一个函数如下:

let (%) s x = Printf.sprintf s x
Run Code Online (Sandbox Code Playgroud)

那么,我可以直接写作:

let str = "this: %s" % "sth"
Run Code Online (Sandbox Code Playgroud)

但是简单的函数不能处理两个或多个变量的更复杂的情况.所以我想编写一个复杂的函数来使它完美地模拟python方式.我写的如下:

let (%) s li = 
  let split_list = Str.full_split (regexp "%[a-z]") s in
  let rec fmt result_str s_list x_list = match s_list with
    | [] …
Run Code Online (Sandbox Code Playgroud)

python ocaml

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

标签 统计

ocaml ×1

python ×1