[lnkForumImage]
TotalShareware - Download Free Software

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


 

Forums >

comp.lang.ruby

String interpolation at a later stage

Raj Singh

1/16/2009 3:42:00 PM

x = 'hello'
y = '#{x} world'

desired result = 'hello world'


Please note that variable y has the string interpolation code under
single quotes.

I have these two values x and y. And with that I need to get to the
desired result. Any suggestion on how to do that.

I tried eval y but that won't work because world is not a variable.
--
Posted via http://www.ruby-....

2 Answers

Chris Hulan

1/16/2009 5:43:00 PM

0

On Jan 16, 10:41 am, Raj Singh <neeraj....@gmail.com> wrote:
> x = 'hello'
> y = '#{x} world'
>
> desired result = 'hello world'
>
> Please note that variable y has the string interpolation code under
> single quotes.
>
> I have these two values x and y. And with that I need to get to the
> desired result. Any suggestion on how to do that.
>
> I tried eval y but that won't work because world is not a variable.
> --
> Posted viahttp://www.ruby-....

try:
z = '"' + y + '"'
zz = eval z

Gary Wright

1/16/2009 6:23:00 PM

0


On Jan 16, 2009, at 10:41 AM, Raj Singh wrote:

> x = 'hello'
> y = '#{x} world'
>
> desired result = 'hello world'

This might not be exactly what you were asking for but might be
helpful none the less:

x = 'hello'
lazy = lambda {"#{x} world"}

result = lazy.call
result = lazy[]

# or maybe even..

def lazy.to_s
call
end

puts lazy # hello world

x = 'goodbye'

puts lazy # goodbye world