Rはこういうことをするための言語じゃないような・・・と思いつつ、いい練習なので色々考えてるんですが。やはりRの標準機能で双方向パイプは無理っぽいのです。片方向はできるのよ。
> ls <- pipe("ls /") > ls description class mode text opened can read "ls /" "pipe" "r" "text" "closed" "yes" can write "yes" > wc <- pipe("wc -l", "w") > wc description class mode text opened can read "wc -l" "pipe" "w" "text" "opened" "no" can write "yes" > writeLines(readLines(ls), wc) > close(ls) > close(wc) 19
・・・てあれ、lsがread/になってる。あれれ。
ああなるほど、readLines/writeLinesするとどちらか専用になるのか。うーん。
どうにかしてがんばるには自分で拡張書くしかないのか・・・?そもそもこういうIPCはRで必要とされているんだろうか・・・。socket使えるだけでもすげーのに。
追記
FIFO(named pipe)使っちゃダメかな、かな・・・
まあ、使ったとしてもプロセス管理をする手段がないわけですが。