Lisp 的 let* 的 Ocaml 等价物?
Posted
技术标签:
【中文标题】Lisp 的 let* 的 Ocaml 等价物?【英文标题】:Ocaml equivalent for Lisp's let*? 【发布时间】:2011-11-29 12:11:47 【问题描述】:如果可能的话,我宁愿使用let ... and ... and ... in
而不是嵌套的let
,但是普通的 let 语法不允许这样用于相互依赖的表达式。
不允许:
let encrypt password =
let seed = int 16
and keys = xlat seed (length password)
and plaintext = map code (explode password) in
map2 logxor plaintext keys
OCaml 是否与 Lisp 的 let*
等效,允许这样做?
【问题讨论】:
On ocaml indenting style for this kind of nested let-in的可能重复 【参考方案1】:嵌套的let
不需要嵌套缩进,这样就足够了。
【讨论】:
其实let*
通常实现为一个宏,扩展成嵌套的let
s。
哈。必须为宏放弃它。以上是关于Lisp 的 let* 的 Ocaml 等价物?的主要内容,如果未能解决你的问题,请参考以下文章
在 OCaml 中分隔多个“let”声明,后跟一个“let in”表达式
在 OCaml 中的 let 命令(即 let _ = ... in)中使用下划线通配符有啥副作用吗?