I have a string with say “@@@asdfasdf@@@ @@@ lk;lk@@@” called markup,
and I do:
markup.scan(/@@@/) do |ats|
print ats.class
print ats.length
end
and I get the class as always Array, and the length as 1. What’s with
that?
xc
I have a string with say “@@@asdfasdf@@@ @@@ lk;lk@@@” called markup,
and I do:
markup.scan(/@@@/) do |ats|
print ats.class
print ats.length
end
and I get the class as always Array, and the length as 1. What’s with
that?
xc
On Sat, 29 Apr 2006, Xeno C. wrote:
I have a string with say “@@@asdfasdf@@@ @@@ lk;lk@@@” called markup, and I do:
markup.scan(/@@@/) do |ats|
print ats.class
print ats.length
endand I get the class as always Array, and the length as 1. What’s with that?
xc
Both forms iterate through _str_, matching the pattern (which may
be a +Regexp+ or a +String+). For each match, a result is
generated
and either added to the result array or passed to the block. If
the
pattern contains no groups, each individual result consists of the
matched string, +$&+. If the pattern contains groups, each
individual result is itself an array containing one entry per
group.
a = "cruel world"
a.scan(/\w+/) #=> ["cruel", "world"]
a.scan(/.../) #=> ["cru", "el ", "wor"]
a.scan(/(...)/) #=> [["cru"], ["el "], ["wor"]]
a.scan(/(..)(..)/) #=> [["cr", "ue"], ["l ", "wo"]]
And the block form:
a.scan(/\w+/) {|w| print "<<#{w}>> " }
print "\n"
a.scan(/(.)(.)/) {|a,b| print b, a }
print "\n"
_produces:_
<<cruel>> <<world>>
rceu lowlr
-a
On Apr 28, 2006, at 7:26 PM, Xeno C. wrote:
I have a string with say “@@@asdfasdf@@@ @@@ lk;lk@@@” called
markup, and I do:
[…]
and I get the class as always Array, and the length as 1. What’s
with that?
“@@@asdfasdf@@@ @@@ lk;lk@@@”.scan(/@@@/) do |ats|
ats # => “@@@”, “@@@”, “@@@”, “@@@”
ats.class # => String, String, String, String
end
You must be doing something else.
– Daniel
irb(main):090:0* markup = “@@@asdfasdf@@@ @@@ lk;lk@@@”
=> “@@@asdfasdf@@@ @@@ lk;lk@@@”
irb(main):091:0> markup.scan(/@@@/) do |ats|
irb(main):092:1* puts ats.length
irb(main):093:1> end
3
3
3
3
=> “@@@asdfasdf@@@ @@@ lk;lk@@@”
irb(main):094:0>
On Apr 28, 2006, at 10:26 AM, Xeno C. wrote:
xc
– Elliot T.
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