2016-12-15 214 views
1

从脚本运行raco命令的首选方式是什么?如何从脚本运行raco命令?

我一直在做这样的事情:

#lang racket 
(system "raco frog -b") 

但一定是一个更好的解决方案。

+0

你需要的球拍脚本的一部分运行'raco'命令?或者你只需​​要一种方法来运行'raco'命令? – Gibstick

+0

是的,我需要运行'raco'命令作为球拍脚本的一部分。 –

+0

好吧,这听起来很粗鲁,因为人们会认为我不认识你,但是......你不能拉起raco源文件,看看是否有编程接口? –

回答

1

确实是这样,有一个更好的办法:

#lang racket 
(require raco/all-tools) 
(define v (all-tools)) 
(parameterize ([current-command-line-arguments (vector "-b")]) 
    (dynamic-require (second (hash-ref v "frog")) #f)) 

非常感谢萨姆·托宾艾施河畔赫希施塔特。

https://github.com/racket/racket-lang-org/pull/26#issuecomment-267160884

+0

注意:你可能还想参数化current-directory。 –

+0

'raco/all-tools'的文档:http://docs.racket-lang.org/raco/command.html#%28mod-path._raco%2Fall-tools%29 –