Is there an idiomatic way to continue a long quote on a separate line,
or should I just do:
"If you need help," +
" please dial the operator"
···
--
Posted via http://www.ruby-forum.com/.
Is there an idiomatic way to continue a long quote on a separate line,
or should I just do:
"If you need help," +
" please dial the operator"
--
Posted via http://www.ruby-forum.com/.
Robert James wrote:
Is there an idiomatic way to continue a long quote on a separate line,
or should I just do:"If you need help," +
" please dial the operator"--
Posted via http://www.ruby-forum.com/\.
"one \
two \
three"
=> "one two three"
Hi,
At Sun, 14 Jan 2007 14:20:54 +0900,
Robert James wrote in [ruby-talk:233900]:
Is there an idiomatic way to continue a long quote on a separate line,
or should I just do:"If you need help," +
" please dial the operator"
# string literal concatenation
puts "If you need help," \
" please dial the operator"
# escaping new lines
puts "If you need help,\
please dial the operator"
# ditto, with here doc
puts <<EOS
If you need help,\
please dial the operator
EOS
--
Nobu Nakada
Robert James wrote:
Is there an idiomatic way to continue a long quote on a separate line,
or should I just do:"If you need help," +
" please dial the operator"
Hmm, I don't think you can..
if you do (which you can)
"If you need help
please dial the operator"
you'll get '\n' sneaked in there...
I think that using '+' is the only way. Now the question is if that
affects performance at all.. I wouldn't know.
--
Posted via http://www.ruby-forum.com/\.
Nobuyoshi Nakada wrote:
# string literal concatenation
puts "If you need help," \
" please dial the operator"
Is this deprecated and planned for removal at some point? I seem to recall so.
--
vjoel : Joel VanderWerf : path berkeley edu : 510 665 3407
Alternative to escaping new lines is replacement:
irb(main):004:0> s="foo
irb(main):005:0" bar
irb(main):006:0" baz".gsub! "\n", ' '
=> "foo bar baz"
irb(main):007:0> s
=> "foo bar baz"
Of course, this is less efficient because it's done at runtime - but might be ok for constants.
This also works with heredocs.
robert
On 14.01.2007 06:42, Nobuyoshi Nakada wrote:
Hi,
At Sun, 14 Jan 2007 14:20:54 +0900,
Robert James wrote in [ruby-talk:233900]:Is there an idiomatic way to continue a long quote on a separate line,
or should I just do:"If you need help," +
" please dial the operator"# string literal concatenation
puts "If you need help," \
" please dial the operator"# escaping new lines
puts "If you need help,\
please dial the operator"# ditto, with here doc
puts <<EOS
If you need help,\
please dial the operator
EOS
David Krmpotic wrote:
Robert James wrote:
Is there an idiomatic way to continue a long quote on a separate line,
or should I just do:"If you need help," +
" please dial the operator"Hmm, I don't think you can..
if you do (which you can)
"If you need help
please dial the operator"you'll get '\n' sneaked in there...
I think that using '+' is the only way. Now the question is if that
affects performance at all.. I wouldn't know.
At a guess, I would say that using + means it has to go through
String#+. If you write something like
class String
alias old_plus :+
def + other
puts "adding strings "#{other}"
old_plus other
end
end
On the other hand, if you use a lexical construct like
"asdf asdf" \
"asdf asdf"
Then the compiler probably does (or at least can do) literal string
concatenation at parse time.
--
Posted via http://www.ruby-forum.com/\.
Hi,
At Sun, 14 Jan 2007 14:55:31 +0900,
Joel VanderWerf wrote in [ruby-talk:233904]:
> # string literal concatenation
> puts "If you need help," \
> " please dial the operator"Is this deprecated and planned for removal at some point? I seem to
recall so.
Maybe in the future, but it's not deprecated nor planned yet
right now, although Matz has mentioned about it somewhere.
And, the last one included a new line at the end.
Instead, another one:
# empty expression interpolation
p "If you need help,#{
} please dial the operator"
--
Nobu Nakada
Robert Klemme:
Alternative to escaping new lines is replacement:
irb(main):004:0> s="foo
irb(main):005:0" bar
irb(main):006:0" baz".gsub! "\n", ' '
=> "foo bar baz"
irb(main):007:0> s
=> "foo bar baz"
Also, if you like something fancy:
require 'facet/string/margin'
x = %Q{
> This
> is
> margin controlled!
}.margin
Regards, Kalman
ah ok, so this is the answer Robert was looking for:
"asdf asdf" \
"asdf asdf"
I didn't know how to do this either. Now I know. Cool
--
Posted via http://www.ruby-forum.com/.