Memoize

BasicWerk   EC Support   Technique   Facebook  

20140607162137_sb-ext_run-program

sb-ext_run-program

 

 

SBCL の sb-ext:run-program で外部コマンドを実行。

 

例:

 
* (sb-ext:run-program "sqlite3" '("sample.db" "SELECT * FROM sample_table;") :search t :output t)
 

 

ポイント:

  1. 引数のリストは SBCL が適宜クォートしてくれる。だから "\"SELECT * FROM sample_table;\"" みたいに余計なことはしなくて良い。
  2. key に :search t を指定しないと、実行するプログラムは /opt/local/bin/sqlite3 のようにフルパスで指定しなくちゃいけない。
  3. REPL にコマンドの実行結果(標準出力)を表示したいときは :output t を指定する。

 


© Shin Nakamura/BasicWerk 2014