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
È stato utile?

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
scroll top