String subs

lo there all,

i have found how i can put a variable inside a string without the #{} stuff
using %s and so on. But i don't know how to do more than one.

for example

x = 5
y = 10

puts "i have %s foo and %s bar" % don't know what goes here

i know, quite a beginner question, would appreciate any help

thanks
sk

From ri:

--------------------------------------------------------------- String#%
      str % arg => new_str

···

On Apr 21, 2007, at 5:40 PM, shawn bright wrote:

lo there all,

i have found how i can put a variable inside a string without the #{} stuff
using %s and so on. But i don't know how to do more than one.

for example

x = 5
y = 10

puts "i have %s foo and %s bar" % don't know what goes here

i know, quite a beginner question, would appreciate any help

thanks
sk

------------------------------------------------------------------------
      Format---Uses _str_ as a format specification, and returns the
      result of applying it to _arg_. If the format specification
      contains more than one substitution, then _arg_ must be an +Array+
      containing the values to be substituted. See +Kernel::sprintf+ for
      details of the format string.

         "%05d" % 123 #=> "00123"
         "%-5s: %08x" % [ "ID", self.id ] #=> "ID : 200e14d6"

So, it'd be:

puts "i have %s foo and %s bar" % [foo, bar]

cool, thanks very much
sk

···

On 4/21/07, Roland Crosby <roland.crosby@students.olin.edu> wrote:

On Apr 21, 2007, at 5:40 PM, shawn bright wrote:

> lo there all,
>
> i have found how i can put a variable inside a string without the #
> {} stuff
> using %s and so on. But i don't know how to do more than one.
>
> for example
>
> x = 5
> y = 10
>
> puts "i have %s foo and %s bar" % don't know what goes here
>
> i know, quite a beginner question, would appreciate any help
>
> thanks
> sk
>

From ri:

--------------------------------------------------------------- String#%
      str % arg => new_str
------------------------------------------------------------------------
      Format---Uses _str_ as a format specification, and returns the
      result of applying it to _arg_. If the format specification
      contains more than one substitution, then _arg_ must be an +Array+
      containing the values to be substituted. See +Kernel::sprintf+ for
      details of the format string.

         "%05d" % 123 #=> "00123"
         "%-5s: %08x" % [ "ID", self.id ] #=> "ID : 200e14d6"

So, it'd be:

puts "i have %s foo and %s bar" % [foo, bar]