Estaba mirando un script de Ruby y me encontré con script = $0
. He hecho algunas búsquedas en Google, pero no he encontrado una respuesta definitiva sobre lo que hace. Creo que te protege de leer un archivo más grande que la memoria, ¿es correcto?
Gracias, que tienen por debajo del guión completo para que pueda ver en su contexto:
# Takes the name of a file as an argument and assigns to filename
filename = ARGV.first
script = $0
puts "We're going to erase #{filename}."
puts "If you don't want that, hit CTRL-C (^C)."
puts "If you do want that, hit RETURN."
print "? "
STDIN.gets
puts "Opening the file..."
target = File.open(filename, 'w')
puts "Truncating the file. Goodbye!"
target.truncate(target.size)
puts "Now I'm going to ask you for three lines."
print "line 1: "; line1 = STDIN.gets.chomp()
print "line 2: "; line2 = STDIN.gets.chomp()
print "line 3: "; line3 = STDIN.gets.chomp()
puts "I'm going to write these to the file."
target.write(line1)
target.write("\n")
target.write(line2)
target.write("\n")
target.write(line3)
target.write("\n")
puts "And finally, we close it."
target.close()
El enlace parece estar muerto – raylu