如何通过命令行参数从终端调用球拍程序

时间:2017-10-31 09:19:34

标签: racket

我有一个名为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)))) 

1 个答案:

答案 0 :(得分:3)

您可以将其作为文件中的最后一个表达式:

(apply textify (vector->list (current-command-line-arguments)))

如果您正在制作一个具有开关的更高级程序,您可以使用command-line为您执行此操作。