From: Joey Date: 2006-08-24T07:05:43+09:00 Subject: Re: argument parsing with embedded parentheses ------=_Part_113890_28079218.1156370740379 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline The below works, excpet for the case highlighted, but its a start! j`ey http://www.eachmapinject.com class String def get_args (split(/(.*[^(].*),(.*[^)].*)/) - [""]).map{|e| e.strip} end end require 'test/unit' class TestArgumentParser < Test::Unit::TestCase def test_simple_cases assert_equal %w[ a b ], 'a,b'.get_args assert_equal %w[ a_frog b25 ], 'a_frog, b25'.get_args end def test_embedded_parens assert_equal %w[ a(1) b ], 'a(1), b'.get_args assert_equal %w[ a b(i) ], 'a, b(i)'.get_args end def test_embedded_parens_with_commas assert_equal %w[ a(0,j) b ], 'a(0,j),b'.get_args assert_equal %w[ a() b(j,k) ], 'a(),b(j,k)'.get_args ## doesnt work assert_equal %w[ c(i,j,t(1)) ], 'c(i,j,t(1))'.get_args end end On 8/23/06, QApassion wrote: > > > Hi, > > How about parsing a parameter list with embedded white space between two > words and EOF? > > Thanks, > ----------------------------------------- > > Bil Kleb wrote: > > > > Hello, > > > > Can someone please point me at a simple recipe for > > parsing a parameter list with embedded parentheses > > and commas, e.g., > > > > class String > > def get_args > > split(',').map{|e| e.strip} # naive recipe > > end > > end > > > > require 'test/unit' > > > > class TestArgumentParser < Test::Unit::TestCase > > def test_simple_cases > > assert_equal %w[ a b ], 'a,b'.get_args > > assert_equal %w[ a_frog b25 ], 'a_frog, b25'.get_args > > end > > def test_embedded_parens > > assert_equal %w[ a(1) b ], 'a(1), b'.get_args > > assert_equal %w[ a b(i) ], 'a, b(i)'.get_args > > end > > def test_embedded_parens_with_commas > > assert_equal %w[ a(0,j) b ], 'a(0,j),b'.get_args > > assert_equal %w[ a() b(j,k) ], 'a(),b(j,k)'.get_args > > assert_equal %w[ c(i,j,t(1)) ], 'c(i,j,t(1))'.get_args > > end > > end > > > > Thanks, > > -- > > Bil > > http://fun3d.larc.nasa.gov > > > > > > > > -- > View this message in context: > http://www.nabble.com/argument-parsing-with-embedded-parentheses-tf1461223.html#a5953306 > Sent from the ruby-talk forum at Nabble.com. > > > ------=_Part_113890_28079218.1156370740379--