On Tue, Oct 16, 2007 at 09:31:27PM +0900, Alex Young wrote: > Randy Kramer wrote: > >I've done some googling, some looking in the pickaxe(2) book (using the > >index), and some experimenting in irb, but I can't readily see the > >difference between puts and write (except that write doesn't work in all > >cases in irb:) > > > >irb(main):044:0> write "\nmorF\n\n" > >NoMethodError: undefined method `write' for main:Object > > > >So what is the difference (specifically for the case of writing to a file) > >and/or when should I use one vs. the other? > > > On a File object (actually, they're defined on IO), write just writes > the string given to the file unchanged. IO#puts adds a newline at the > end of the string if there isn't one already. I guess the next question, then, is "What's the difference between print and write for writing to a file?" Trying to answer my own question with irb, I see that a successful write has a return value equal to the number of characters it writes to the file, while a successful print returns nil. Is that the only difference in a file writing context? -- CCD CopyWrite Chad Perrin [ http://ccd.apotheon.org ] Isaac Asimov: "Part of the inhumanity of the computer is that, once it is completely programmed and working smoothly, it is completely honest."