Utilizzo burattino per fornire un insieme di costanti per un programma di rubini. Ho bisogno di fornire una serie di nomi host su cui il mio programma itererà.Ruby array in uscita tramite un modello ERB
Nello script bash stavo usando prima di questo, ho semplicemente avuto come burattino variabile
hosts => "host1,host2"
che ho fornito allo script bash come
HOSTS=<%= hosts %>
Ovviamente questo lavoro non del tutto per ruby - ho bisogno nel formato
hosts = ["host1","host2"]
dal
p hosts
e
puts my_array.inspect
fornire l'output
["host1","host2"]
speravo di utilizzare uno di quelli. Purtroppo, non posso per la vita di me capire come fare quel lavoro. Ho provato ciascuna delle seguenti:
<% p hosts %>
<% puts hosts.inspect %>
ho trovato un posto dove hanno indicato che avevo bisogno di mettere "function_" di fronte a chiamate di funzione ... che non sembra funzionare. Ho optato per un modello iterativo:
[<% hosts.each do |host| -%>"<%=host%>",<% end -%>]
questo funziona, dandomi
["host1","host2",]
ma la virgola finale si sente trascurato. il tutto si sente sciatto. Qualcuno ha un modo migliore? O è quello che ho fatto l'opzione migliore?
Avrò ancora bisogno di fare un po 'di post-elaborazione di quello per spogliare i caratteri di fuga e le citazioni extra, non è vero? – Hitch
Nah sono fuggiti perché sono tra virgolette. Questo è come apparirebbe in console. Quando lo pubblichi in ERB andrà bene. – numbers1311407
ah, fantastico. Darò uno scatto e vedrò se fa quello che mi serve. Grazie! – Hitch