1
私の試み:外部ライブラリなしでClojureからプログラムを実行し、リアルタイムでその出力を表示するには?
(import 'java.lang.Runtime)
(. (Runtime/getRuntime) exec (into-array ["youtube-dl" "--no-playlist" "some youtube video link"]))
私もsh
を試してみました。しかし、どちらの方法もシェルのようにプログラムを実行すると(sh
はプログラムが終了するまで待ちますが、exec
が起動して終了するのを待たずに、どちらも標準出力に何も出力しません)。プロセスの出力をライブで表示したい私が実行するときyoutube-dl
私はビデオのダウンロードの進捗状況を見たいと思う。
Clojureでこの簡単な作業を行う方法は?
それはシェルが(たとえば、プログレスバーが常に一度だけ示されているためので、例えばシェルは、現在の行を「書き換える」ことを可能にする)それをしないとまったく同じではないのですが、それは十分に近いです:一つの解決策はあります。ありがとうございました :)。 – monnef
私の例では、println関数を使用しています。リライトの動作では、キャリッジリターンを出力する独自のprintln関数を実装する必要があります。参照:https://stackoverflow.com/questions/9566654/print-a-carriage-return-in-java-on-windows-on-console –