gpt4 book ai didi

Racket 哈希表默认失败结果无济于事

转载 作者:行者123 更新时间:2023-12-03 15:01:59 26 4
gpt4 key购买 nike

在 Racket 中,如果您尝试 hash-ref对于散列不包含的键,例如

(define a-hash #hash((1 . "a")
(2 . "b")))
(hash-ref a-hash 3)

exn:fail:contract被提出。

...\Racket\collects\racket\private\more-scheme.rkt:263:2: hash-ref: no value found for key



不幸的是, exn:fail:contract是无益的广泛。如果您尝试将值作为过程应用,则会遇到相同类型的异常
(with-handlers ((exn:fail? print))
(10 11))

(exn:fail:contract "application: not a procedure;\n expected a procedure that can be applied to arguments\n given: 10\n arguments...:\n 11" #)



有什么办法可以改变 hash-ref的默认值吗?的 failure-result从外部使用它的代码?我可以进入我的 Racket 安装并在那里进行更改吗?这似乎是坏的和危险的。我有哪些选择?我可以解析异常消息,但它散发着骇人听闻且容易出错的味道。

最佳答案

failure-resulthash-ref .

(define a-hash #hash((1 . "a")
(2 . "b")))
(hash-ref a-hash 3 #f) ; => #f

关于 Racket 哈希表默认失败结果无济于事,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20381552/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com