Domanda
Sto cercando di fare una piccola modifica a uno script di Ruby modo che io possa specificare una cartella in fase di esecuzione.
ero abbastanza sicuro che questo sarebbe stato un compito facile, anche se io non sono un programmatore Ruby, ma non riesco a trovare la sintassi corretta.
puts "Enter folder name and press enter: "
folder = gets
files = Dir.glob("folder/[0-100]*.txt"); # What is the correct syntax to use, so the content of the variable folder will be used?
puts files
Soluzione
Per inserire una variabile (o qualsiasi espressione rubino) in una stringa, è possibile utilizzare #{}
:
Dir.glob("#{folder}/[0-100]*.txt")
Si noti inoltre che la stringa restituita da gets
avrà un ritorno a capo (\n
) alla fine, che non è valido per i nomi delle cartelle, naturalmente. Quindi, si dovrà utilizzare il metodo chomp
per sbarazzarsi di questo.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow