ther
June 19, 2007, 11:11am
1
I like to use this a lot:
File.new(cName,‘wb+’).write(‘aText’)
I have understood that file gets automaticly closed. But when? You can
not delete file right after above statement. If you want to delete file
you must use this.
f = File.new(cName,‘wb+’)
f.write(attachment.unpack(‘m’))
f.close
When does the file in block gets closed.
by
TheR
ther
June 19, 2007, 11:24am
2
If you open a file with File#new, you have to close it yourself by
calling File#close.
f = File.new(‘someFilename’, ‘w’)
f.write(text1)
f.write(text2)
f.close
You can write as often as you like to f as long as you don’t close it.
File#open closes the file automatically if passed a block:
File.open(‘someFilename’, ‘w’) {|f|
f.write(text1)
f.write(text2)
}
Without a block File#open ist just an alias for File#new.
Sascha
ther
June 19, 2007, 11:52am
3
You can write as often as you like to f as long as you don’t close it.
File#open closes the file automatically if passed a block:
File.open(‘someFilename’, ‘w’) {|f|
f.write(text1)
f.write(text2)
}
I guess then my one liner should look like this:
File.new(cName,‘wb+’) { |f|.write(‘aText’) }
by
TheR
ther
June 19, 2007, 4:10pm
4
On Jun 19, 2007, at 5:52 AM, Damjan R. wrote:
I guess then my one liner should look like this:
File.new(cName,‘wb+’) { |f|.write(‘aText’) }
by
TheR
Close, try it like this:
File.open(cName,‘wb+’) { |f| f.write(‘aText’) }
-Rob
Rob B. http://agileconsultingllc.com
[email protected]