2

有谁知道 DrRacket 是否有相当于 Python 的pass语句或任何其他可用于指示执行代码什么都不做的习语?

4

4 回答 4

1

如果你想写一个空语句(没有有用的结果),也许这对你有用:

(void)

...但是如果你用一个例子来证明你想要做什么会更好。无论如何,这是文档中相应部分的链接。

于 2013-07-11T16:15:54.977 回答
1

这是一种执行哈希示例的方法。

(hash-ref (hash) "not there" void)

但是现在你必须检查你是否得到了void你想要的值。您可能还对hash-update!or hash-update( docs ) 感兴趣,它结合了对现有密钥的检查与在密钥不存在的情况下的默认行为。

于 2013-07-11T17:46:27.693 回答
1

在我写这个答案时,您的问题在(a)您的原始问题和(b)您对奥斯卡答案的评论之间传播:

这是一个想要使用可能存在或可能不存在的键来索引哈希映射的情况,因此如果返回未找到键的错误,我只想忽略该错误并继续执行。

从字面上理解最后一部分:处理 - 并且有效地“忽略” - 异常的一般方法是with-handlers

(hash-ref (hash) "nothing")
;; hash-ref: no value found for key
;; key: "nothing"

(with-handlers ([exn:fail? (lambda (exn)
                             "hum dee dum")])
  (hash-ref (hash) "nothing"))
;; "hum dee dum"

这似乎与这里描述的Pythonpass没有任何关系,但也许pass可以用来忽略 Python 中的错误;我只是不够了解

于 2013-07-11T18:48:13.660 回答
0

如果您可以处理句法形式,那么就begin可以了。

(if <conditional> (begin))

如果你需要一个功能,那么这个工作

(lambda ignore #f)

你可能会通过修改导致“无”的逻辑来避免对“什么都不做”的需求。

于 2013-07-11T21:07:04.557 回答