Begineer question

Discussion in 'Ruby' started by jim o, May 18, 2007.

  1. jim o

    jim o Guest

    I have had a horrible time googling this as I get too many hits back that don't apply.



    I am new to Ruby, and trying to find a good ref as for when one would use the form



    puts #{a}

    vs
    puts a

    Does anyone have any pointers?

    Thanks
    Jim






    ____________________________________________________________________________________Looking for a deal? Find great prices on flights and hotels with Yahoo! FareChase.
    http://farechase.yahoo.com/
     
    jim o, May 18, 2007
    #1
    1. Advertising

  2. On 5/18/07, jim o <> wrote:
    > I have had a horrible time googling this as I get too many hits back that don't apply.
    >
    >
    >
    > I am new to Ruby, and trying to find a good ref as for when one would use the form
    >
    >
    >
    > puts #{a}
    >
    > vs
    > puts a
    >
    > Does anyone have any pointers?


    You mean:
    puts "#{a}"

    Right? If so then it simply helps to do:

    puts "foo=#{a} allows you to do more interesting things"

    If you just want to print 'a' then there's no reason to do "#{a}" it
    would be like doing "%s" % [a]; you can do it, but it doesn't make
    sense.

    --
    Felipe Contreras
     
    Felipe Contreras, May 18, 2007
    #2
    1. Advertising

  3. jim o wrote:
    > I am new to Ruby, and trying to find a good ref as for when one would use
    > the form
    >
    > puts #{a}
    > vs
    > puts a


    puts #{a} doesn't do anything (except return nil), so I'm going to assume you
    meant to say puts "#{a}". Since that does the same thing as puts a but is more
    to type, I'd always use the latter. The #{} syntax is only useful when you
    want to print out more than just the content of the variable. For example:
    puts "The value of x is #{x}"


    --
    Ist so, weil ist so
    Bleibt so, weil war so
     
    Sebastian Hungerecker, May 18, 2007
    #3
  4. Harry Kakueki, May 18, 2007
    #4
  5. jim o

    Chad Perrin Guest

    On Fri, May 18, 2007 at 11:24:19PM +0900, Sebastian Hungerecker wrote:
    > jim o wrote:
    > > I am new to Ruby, and trying to find a good ref as for when one would use
    > > the form
    > >
    > > puts #{a}
    > > vs
    > > puts a

    >
    > puts #{a} doesn't do anything (except return nil), so I'm going to assume you
    > meant to say puts "#{a}". Since that does the same thing as puts a but is more
    > to type, I'd always use the latter. The #{} syntax is only useful when you
    > want to print out more than just the content of the variable. For example:
    > puts "The value of x is #{x}"


    It really takes a more complex example to really make using that syntax
    worthwhile. After all, these are equivalent:

    puts "The value of foo is #{foo}"
    puts "The falue of foo is " + foo

    . . except that the second example doesn't require as much use of the
    Shift key.

    Yeah, though -- your example does make the point clear. I guess I'm
    just being a touch pedantic.

    --
    CCD CopyWrite Chad Perrin [ http://ccd.apotheon.org ]
    Ben Franklin: "As we enjoy great Advantages from the Inventions of others
    we should be glad of an Opportunity to serve others by any Invention of
    ours, and this we should do freely and generously."
     
    Chad Perrin, May 18, 2007
    #5
  6. jim o

    Robert Dober Guest

    On 5/18/07, Felipe Contreras <> wrote:
    > On 5/18/07, jim o <> wrote:
    > > I have had a horrible time googling this as I get too many hits back that don't apply.
    > >
    > >
    > >
    > > I am new to Ruby, and trying to find a good ref as for when one would use the form
    > >
    > >
    > >
    > > puts #{a}
    > >
    > > vs
    > > puts a
    > >
    > > Does anyone have any pointers?

    >
    > You mean:
    > puts "#{a}"
    >
    > Right? If so then it simply helps to do:
    >
    > puts "foo=#{a} allows you to do more interesting things"
    >
    > If you just want to print 'a' then there's no reason to do "#{a}" it
    > would be like doing "%s" % [a]; you can do it, but it doesn't make
    > sense.

    Well maybe it might be useful to explain things a little more in
    detail, because there is #to_s called all over the place
    As a matter of fact "#{a}" is the same as "" << a.to_s
    and IO#puts, IO#write and IO#print convert their arguments by
    calling#to_s on them too.

    It is therefore only in the context of e.g. puts that
    "#{a}" is the same as a.

    HTH
    Robert
    >
    > --
    > Felipe Contreras
    >
    >



    --
    You see things; and you say Why?
    But I dream things that never were; and I say Why not?
    -- George Bernard Shaw
     
    Robert Dober, May 18, 2007
    #6
  7. Chad Perrin wrote:
    > After all, these are equivalent:
    >
    > puts "The value of foo is #{foo}"
    > puts "The falue of foo is " + foo


    Only if foo is a string. #{} automatically to_ses non-strings, while + doesn't


    --
    Ist so, weil ist so
    Bleibt so, weil war so
     
    Sebastian Hungerecker, May 18, 2007
    #7
  8. Perhaps a translation would make things clearer:

    printf("We are going to %s.", [toUpper(destination)]);

    puts "We are going to #{destination.upcase}."

    --
    Posted via http://www.ruby-forum.com/.
     
    Lloyd Linklater, May 20, 2007
    #8
  9. jim o

    Robert Dober Guest

    On 5/20/07, Lloyd Linklater <> wrote:
    > Perhaps a translation would make things clearer:
    >
    > printf("We are going to %s.", [toUpper(destination)]);
    >
    > puts "We are going to #{destination.upcase}."

    Maybe print is better a translation, but you made your point nonetheless ;)

    Robert


    --
    You see things; and you say Why?
    But I dream things that never were; and I say Why not?
    -- George Bernard Shaw
     
    Robert Dober, May 20, 2007
    #9
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. sean
    Replies:
    1
    Views:
    597
    Cowboy \(Gregory A. Beamer\)
    Oct 20, 2003
  2. =?Utf-8?B?UnlhbiBTbWl0aA==?=

    Quick Question - Newby Question

    =?Utf-8?B?UnlhbiBTbWl0aA==?=, Feb 14, 2005, in forum: ASP .Net
    Replies:
    4
    Views:
    662
    Iain Norman
    Feb 16, 2005
  3. peter leonard
    Replies:
    0
    Views:
    310
    peter leonard
    Sep 22, 2003
  4. knilges
    Replies:
    24
    Views:
    760
  5. begineer

    , Jul 8, 2007, in forum: C++
    Replies:
    21
    Views:
    1,019
    tanmay
    Jul 10, 2007
Loading...

Share This Page