从Racket的功能中提前返回

时间:2014-08-27 09:28:37

标签: function return racket

如何在到达标准球拍中的最后一个表格之前从功能返回?这对于避免另一级别的缩进和形式嵌套非常有用。

在Common Lisp中有return,一种特殊的返回形式。在Racket中有任何等价物,至少只能返回?

1 个答案:

答案 0 :(得分:8)

使用let/ec创建转义延续。

示例:

(let/ec return
  (for ([x 10000])
    (when (= x 100)
        (return x))))

使用let / ec比使用call / cc更便宜,这会创建一个完整的延续。