gpt4 book ai didi

scheme - 这段 lisp 代码的 racket 翻译是什么?

转载 作者:太空宇宙 更新时间:2023-11-03 19:03:44 25 4
gpt4 key购买 nike

;; loads a board from the given file

;; it expects the board to be in the format of a single S-expression:

;; a list of nine lists, each containing 9 numbers


(defun get-board-from-file file
(let ((in (open file :if-does-not-exist nil)))
(when in (return-from get-board-from-file (read in)))
(when (not in) (format t "~%Unable to open file ~A" file))
)
)

这是数独求解器的解决方案的一部分。

最佳答案

尝试以下,它是问题中 Lisp 代码的功能等价物,但用 Racket 编写:

(define (get-board-from-file file)
(with-handlers ([exn:fail:filesystem?
(lambda (exn) (printf "~%Unable to open file ~A" file))])
(call-with-input-file file
(lambda (in) (read in)))))

如果文件不存在,上面的代码会处理异常,并确保在读取文件后关闭端口。

关于scheme - 这段 lisp 代码的 racket 翻译是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36186777/

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