Controlo IRB através de um tubo de chamada (em vez de STDIN / stdOut)
Pergunta
É possível executar o Ruby IRB ver um pipe nomeado, para que eu possa enviar comandos e obter resultados remotamente?
Geralmente eu gostaria de utilizar o motor IRB, enquanto tem uma interface diferente (provavelmente escrito com .Net).
Solução
Eu acredito que sim - isso funcionou para mim (Mac OS X):
no terminal 1:
mkfifo rpipe
no terminal 2:
tail -f rpipe | irb
no terminal 1:
echo "puts 'hi'" > rpipe
no terminal 2 (saída):
puts 'hi'
hi
nil
kinda irritante que o comando original está de saída, bem como, mas perto ...
Outras dicas
Parece ser (eu tentei); apenas o tubo de I / O através de seu ppipe nomeados e você é bom.
Mas eu tenho que perguntar, por quê?
Especificamente, por que você não apenas executá-lo como um subprocesso?
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow