Minne-håndtering i Ruby ordnes via garbage collection, men en del andre ressurser krever eksplisitt lukking. Åpne filer, database-tilkoblinger og andre ressurser som tar opp mer enn minne, har det bedre med en eksplisitt lukking. Men slikt glemmer man lett...
1| # Hent filnavn fra kommandolinjen. 2| filnavn = ARGV[0] 3| 4| # Gamle måten. 5| fil = File.open( filnavn, "r" ) 6| linjenummer = 0 7| fil.readlines.each{ |linje| 8| linjenummer +=1 9| print "#{linjenummer}: #{linje}" 10| } 11| fil.close # Lukker filen eksplisitt 12| 13| # Bruk block til ressurs styring. 14| File.open( filnavn, "r") { |fil| 15| linjenummer = 0 16| fil.readlines.each{ |linje| 17| linjenummer += 1 18| print "#{linjenummer}>: #{linje}" 19| } 20| } 21| # File.open lukker filen etter å ha kjørt koden i blocken. |