2016-12-15 241 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 –