Hi All
I tried to put an array into variables like this
s, h = b.scan(/^(\w+)\s(\w+)$/)
But for some reason ‘s’ becomes an array and ‘h’ is undefined!!
Any suggestions how to put the first result in ‘s’ and de second in ‘h’
?
Thnx a lot
LuCa
Hi All
I tried to put an array into variables like this
s, h = b.scan(/^(\w+)\s(\w+)$/)
But for some reason ‘s’ becomes an array and ‘h’ is undefined!!
Any suggestions how to put the first result in ‘s’ and de second in ‘h’
?
Thnx a lot
LuCa
Luca S. wrote:
Hi All
I tried to put an array into variables like this
b = “aaa bbb”
s, h = b.scan(/^(\w+)\s(\w+)$/)
But for some reason ‘s’ becomes an array and ‘h’ is undefined!!
The problem is that scan returns an array of arrays:
[ # first match:
[ #first group :
“aaa”,
# second group:
“bbb”
]
]
So you might want in your case:
s, h = b.scan(/^(\w+)\s(\w+)$/)[0]
s, h = b.scan(/^(\w+)\s(\w+)$/).flatten
Vince
thanks a lot!!!
LuCa
a,*b = [1,2,3,4,5,6,7,8,9]
a => 1
b => [2, 3, 4, 5, 6, 7, 8, 9]
Ken Allen wrote:
This also works:
b = “word1 word2”
((a,b)) = b.scan(/^(\w+)\s(\w+)$/)
p a => “word1”
p b => “word2”The outer parens matches the outer array, and the inner parens matches
the inner array, allowing a and b to decompose it.
It’s a pretty useful trick when decomposing nested arrays.Ken
Seems like the long way around…
foo = [“one”, “two”]
a, b = foo
a #=> “one”
b #=> “two”
El Gato wrote:
Ken Allen wrote:
This also works:
b = “word1 word2”
((a,b)) = b.scan(/^(\w+)\s(\w+)$/)
p a => “word1”
p b => “word2”The outer parens matches the outer array, and the inner parens matches
the inner array, allowing a and b to decompose it.
It’s a pretty useful trick when decomposing nested arrays.Ken
Seems like the long way around…
foo = [“one”, “two”]
a, b = foo
a #=> “one”
b #=> “two”
Actually, to be more clear
foo = “hello world”
a,b = foo.split
a #=> “hello”
b #=> “world”
This also works:
b = “word1 word2”
((a,b)) = b.scan(/^(\w+)\s(\w+)$/)
p a => “word1”
p b => “word2”
The outer parens matches the outer array, and the inner parens matches
the inner array, allowing a and b to decompose it.
It’s a pretty useful trick when decomposing nested arrays.
Ken
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs