I guess I did not ask my question very clearly. Sorry about that.
What does the “#{ }” do for you? I think what I am missing is the
feature provided by having that as a wrapper vs bare.
Does that make sense?
Thanks
Jim
----- Original Message ----
From: Felipe C. [email protected]
To: ruby-talk ML [email protected]
Sent: Friday, May 18, 2007 9:20:19 AM
Subject: Re: Begineer question
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 C.
____________________________________________________________________________________Be
a better Heartthrob. Get better relationship answers from someone who
knows. Yahoo! Answers - Check it out.
I guess I did not ask my question very clearly. Sorry about that.
What does the “#{ }” do for you? I think what I am missing is the feature provided by having that as a wrapper vs bare.
#{} in a string will interpret whatever is contained as ruby code,
convert the result into a string, and insert it into the containing
string. for example:
What does the “#{ }” do for you? I think what I am missing is the feature
provided by having that as a wrapper vs bare.
You can’t use bare variables inside a string.
x=7
puts “The number is x”
This will return (of course) print out “The number is x” because ruby
has
no way of knowing that you actually wanted it to print out the value of
the variable x instead of a literal x. If you however put #{} around the
x,
it will be substituted with the value of x.
That’s the point of the #{}. There’s however no point to pass a string
to puts
that only contains a #{} because than you could as well just pass the
variable
to puts.
let me give another example. let say you want to create a greeting base
on a
person name. You will write:
def greetings(name)
“Good Morning #{name.capitalize}”
end
puts greetings(‘loi’)
“Good Morning Loi”
as you can see the #{} allows you to create complex expressions. In this
case you were able to capitilize the name Loi even though you entered it
in
lower case letter. So when the interpreter does the interpolation sees
the
method capitalize and capitalize the name for you.
I hope this example will help you
Carlos Henriquez
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.