From: Bil Kleb Date: 2006-04-17T20:50:37+09:00 Subject: argument parsing with embedded parentheses 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