我有一个名为 foo.rkt 的 Racket 文件 在该文件内我有一个名为 textify 的过程,它需要 2 个参数。现在我如何从终端调用这个过程?我想做的很简单:
> racket foo.rkt myfirstarg mysecondarg
然后我希望此调用激活 (textify myfirstarg mysecondarg)
过程。这可能吗 ?
这是 foo.rkt 的内容:
#lang racket
(require wxme)
(provide
(contract-out
[textify (-> path-string? path-string? void?)]))
(define (textify in out)
(call-with-input-file in
(λ (in-port)
(call-with-output-file out
(λ (out-port)
(copy-port (wxme-port->text-port in-port) out-port))
#:exists 'truncate))))
最佳答案
您只需将其作为文件中的最后一个表达式即可:
(apply textify (vector->list (current-command-line-arguments)))
如果您正在制作一个带有开关的更高级程序,您可以使用 command-line
这会为你做到这一点。
关于racket - 如何通过给出命令行参数从终端调用 Racket 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47031785/