[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

File.write a long line

MK

5/16/2009 7:36:00 PM

I notice you can do this with print:

print "blah blah",
"and so on"

but not with File.write, except

file.write "blah blah /
and so on"

which is no good cause it includes all the whitespace. I guess I can
live with

file.write "blah blah"
file.write "and so on"

but I thot I'd check and see if there is not some wierd combination of +
, / etc that would allow me to break the line, as I imagine the same
logic will apply in other ruby methods.

Thanks in advance! Ruby seems very nice, I am happy.
--
Posted via http://www.ruby-....

4 Answers

Robert Klemme

5/16/2009 8:56:00 PM

0

On 16.05.2009 21:36, Mk 27 wrote:
> I notice you can do this with print:
>
> print "blah blah",
> "and so on"
>
> but not with File.write, except
>
> file.write "blah blah /
> and so on"
>
> which is no good cause it includes all the whitespace. I guess I can
> live with
>
> file.write "blah blah"
> file.write "and so on"

> but I thot I'd check and see if there is not some wierd combination of +
> , / etc that would allow me to break the line, as I imagine the same
> logic will apply in other ruby methods.

You can do

file.write "blah blah " +
"and so on"

file.write "blah blah " "and so on"


I myself use these rules of thumb to decide which method to use:

1. printing of text: puts, print, printf
2. output of binary or chunked data: write

E.g. for copying data from one file to another, I'd do

buffer = ""
while io1.read(1024, buffer)
io2.write buffer
end

> Thanks in advance! Ruby seems very nice, I am happy.

Good!

Kind regards

robert

--
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestprac...

Bertram Scharpf

5/17/2009 12:54:00 PM

0

Hi,

Am Sonntag, 17. Mai 2009, 06:00:04 +0900 schrieb Robert Klemme:
> On 16.05.2009 21:36, Mk 27 wrote:
>> file.write "blah blah /
>> and so on"
>> which is no good cause it includes all the whitespace.
>
> file.write "blah blah " +
> "and so on"
> file.write "blah blah " > "and so on"

Maybe here documents?

file.write <<EOT.chomp
blah blah and so on
EOT

Bertram


--
Bertram Scharpf
Stuttgart, Deutschland/Germany
http://www.bertram-...

MK

5/17/2009 5:56:00 PM

0

Bertram Scharpf wrote:

> Maybe here documents?

No, just to save a little bit of typing a line with a bunch of long
object.hash[key] variables in it. But since the logic must applies to
other methods, I figured I might as well start "saving" now.

Anyway, it seems the + version works but the / ignores the next line if
the quotes are closed.

--
Posted via http://www.ruby-....

Robert Klemme

5/18/2009 6:36:00 AM

0

2009/5/17 Mk 27 <halfcountplus@intergate.com>:
> Bertram Scharpf wrote:
>
>> Maybe here documents?
>
> No, just to save a little bit of typing a line with a bunch of long
> object.hash[key] variables in it. =A0But since the logic must applies to
> other methods, I figured I might as well start "saving" now.
>
> Anyway, it seems the + version works but the / ignores the next line if
> the quotes are closed.

Note that for the continuation you need a bachslash "\" and not a
forward slash "/"! The difference between the two variants is that
the continuation forms one long string while the plus version creates
several strings which are combined at runtime. It seems that in your
case the version with "+" may be better as you seem to pull your
strings from somewhere else (i.e. they are not constant). Can you
show the real code?

Cheers

robert

--=20
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestprac...