在Racket上进行编码时,我经常遇到某种情况,当我得到一些 Value 时,我需要以某种方式处理它,然后返回它:
(let ([result (compute-some-value)])
(process-somehow result)
result)
其中 process-somehow
返回' void
' .
这段样板代码看起来错了 . 球拍是否有一些构造来更紧凑地描述这种模式(在一行或两行中),如 begin0
或 aif
或者我需要为此编写我自己的照应宏?
为了澄清一个问题,我正在寻找能够写出类似东西的内置球拍结构
(init-and-process (compute-some-value)
process-somehow)
要么
(init-and-process (compute-some-value)
(process-somehow it))
1 回答
没有内置的过程,但很容易定义自己的可重用过程:
像这样使用它: