2013-08-27 54 views
1

我是使用clisp-2.49的lisp新手。使用現有的clisp流

我試圖口齒不清寫模仿這個相當簡單的一件猛擊:

for i in $(program-1) 
do 
    some-logic 
    program-2 $i 
done | program-3 

有執行程序1和3(運行程序,使管-IO流和可能的各種方式其他),所有這些評估表單並返回一個流供我使用。但是對於程序-2,我需要運行程序並告訴表單使用我已經打開的流。我找不到這樣的表格。我忽略了一些明顯的東西嗎?有沒有我不知道的一些微妙之處?

非常感謝,R.

回答

1

可以使用無證功能ext::launch並把它傳遞:output pipe-stream

或者,您可以通過整個shell腳本作爲一個字符串EXT:RUN-SHELL-COMMAND

然而,一般來說,Lisp是沒有設計成a replacement for shell。通過在shell中執行program-*執行,你可能會更好。

+0

感謝指向'launch'的指針。我會仔細看看。 我沒有那麼多_treating口齒不清作爲shell_,更是我學習的語言,我需要一個簡單的項目,將現有的shell腳本似乎是個好主意。 我已經從Lisp是一個靈活的,通用的語言,它是非常適合棘手的問題口齒不清倡導推斷 - 所以我認爲,當我用一個簡單的問題,該故障必須與我的推理掙扎。 再次感謝。 – Richard

+0

@Richard:這個問題對於Lisp來說不夠棘手:-) – sds

+0

感謝您的提示。 難道是公平的假設那麼CLISP具有低級別的處理操作(叉/ EXEC等)幾乎沒有或沒有程序員訪問。這大概是什麼bash在這種情況下使用? – Richard