I have string
a = "ala $(ela) ola $(tola) lola $(p_ola) ".
And I need some magic function that works this way:
puts a.params
[“ela”, “tola”, “p_ola”]
How to do this?
Szymon
I have string
a = "ala $(ela) ola $(tola) lola $(p_ola) ".
And I need some magic function that works this way:
puts a.params
[“ela”, “tola”, “p_ola”]
How to do this?
Szymon
Szymon Drejewicz wrote:
I have string
a = "ala $(ela) ola $(tola) lola $(p_ola) ".And I need some magic function that works this way:
puts a.params
[“ela”, “tola”, “p_ola”]How to do this?
just escape the ( and the $.
irb(main):001:0> a = "ala $(ela) ola $(tola) lola $(p_ola) "
=> "ala $(ela) ola $(tola) lola $(p_ola) "
irb(main):002:0> a.scan /$((\w+))/
=> [[“ela”], [“tola”], [“p_ola”]]
irb(main):003:0>
emmanuel
Emmanuel Touzery wrote:
Szymon Drejewicz wrote:
I have string
a = "ala $(ela) ola $(tola) lola $(p_ola) ".And I need some magic function that works this way:
>> puts a.params
["ela", "tola", "p_ola"]How to do this?
just escape the ( and the $.
irb(main):001:0> a = "ala $(ela) ola $(tola) lola $(p_ola) "
=> "ala $(ela) ola $(tola) lola $(p_ola) "
irb(main):002:0> a.scan /\$\((\w+)\)/
=> [["ela"], ["tola"], ["p_ola"]]
irb(main):003:0>emmanuel
btw if you just want a one-depth array:
irb(main):004:0> a.scan(/\$\((\w+)\)/).flatten
=> ["ela", "tola", "p_ola"]
emmanuel
Thank you
“Emmanuel Touzery” emmanuel.touzery@wanadoo.fr schrieb im Newsbeitrag
news:3FD99DCC.2020001@wanadoo.fr…
Emmanuel Touzery wrote:
Szymon Drejewicz wrote:
I have string
a = "ala $(ela) ola $(tola) lola $(p_ola) ".And I need some magic function that works this way:
puts a.params
[“ela”, “tola”, “p_ola”]How to do this?
just escape the ( and the $.
irb(main):001:0> a = "ala $(ela) ola $(tola) lola $(p_ola) "
=> "ala $(ela) ola $(tola) lola $(p_ola) "
irb(main):002:0> a.scan /$((\w+))/
=> [[“ela”], [“tola”], [“p_ola”]]
irb(main):003:0>emmanuel
btw if you just want a one-depth array:
irb(main):004:0> a.scan(/$((\w+))/).flatten
=> [“ela”, “tola”, “p_ola”]
Also:
irb(main):010:0> a.scan(/$(([^)]*))/).map{|m| m[0]}
=> [“ela”, “tola”, “p_ola”]
irb(main):011:0>
robert