String#scan
メソッドString#scan ... 各マッチ工程で括弧、
"("と")"とではさまれた部分ですな 、
にマッチした文字列の配列がわたされる。
また、イテレータとしても用いることができて、
ブロックには、各マッチ工程で括弧、(と)ですな 、にマッチした文字列の配列が
わたされる。
[hirasawa@localhost ruby]$ cat stringScan2.rb #!/usr/local/bin/ruby p cordinate = "( 1 , 2 ),(3,4),(5,6)" sum = [0,0] p cordinate.scan(/\s*\(\s*(\d+)\s*,\s*(\d+)\s*\)\s*,?/) cordinate.scan(/\s*\(\s*(\d+)\s*,\s*(\d+)\s*\)\s*,?/) do |x , y| sum[0] += x.to_i sum[1] += y.to_i end p sum #scan(/\s*\(\s*(\d+)\s*,\s*(\d+)\s*\)\s*,?/) #scan(/ /) #scan( \s* \s*,? ) #scan( \(\s*(\d+)\s*,\s*(\d+)\s*\) ) #scan( \( \) ) #scan( \s*(\d+)\s*,\s*(\d+)\s* ) #scan( \s*(\d+)\s* \s*(\d+)\s* ) #scan( , ) #scan( ( ) ( ) ) 括弧ってのはこの部分ですね [hirasawa@localhost ruby]$ ./stringScan2.rb "( 1 , 2 ),(3,4),(5,6)" [["1", "2"], ["3", "4"], ["5", "6"]] [9, 12] [hirasawa@localhost ruby]$