Abrindo um arquivo com espaço do Ruby

1

Quando eu preciso abrir progressivamente no emacs um arquivo que tenha um espaço em seu nome, como posso fazer isso? Eu tentei esses comandos de um script Ruby, dentro de backquotes ou popen(…) :

emacs "foo bar"

ou

emacs foo\ bar

abre dois arquivos, cada um denominado foo e bar , mas eu quero abrir um arquivo chamado foo bar .

    
por sawa 11.03.2012 / 01:09

1 resposta

5

Você está tendo problemas com a citação porque está chamando popen com uma linha de comando, que é passada para o shell. O analisador de strings de Ruby está comendo as aspas duplas ou comendo a barra invertida. Você pode chamar o popen com uma matriz de strings, que irá ignorar o shell, ou você pode escrever emacs foo\ bar , que escapará da barra invertida que você quer que o Ruby deixe para o shell ver.

    
por 11.03.2012 / 04:21