2012-02-10 3 views

risposta

5

Questa è una domanda piuttosto vecchia ma ti risponderò comunque. Esistono due metodi principali per estrarre i dati dai comandi di leva. Il primo è se il comando imposta l'opzione keep_retval su true, che il comando della shell no. Il secondo, è usare il tubo virtuale. Nel tuo esempio questo può essere fatto come:

fizz = [] 
.ls | {|listing| fizz = listing.split("\n")} # can also be written as 
.ls do |listing| 
    fizz = listing.split("\n") 
end 
2

Penso che sia una specie di magia di leva ;-)

Dopo rapida occhiata a quello che sta succedendo (non ho guardato alla fonte di leva), si potrebbe desiderare di utilizzare questo:

`ls`.split("\n") 

o

Dir['./*'] 

Cosa c'è di buono di questa soluzione è che sarà lavorare al di fuori del pry