Gennady Bystritsky
10/24/2006 11:44:00 PM
Rick DeNatale wrote:
> On 10/24/06, Martin DeMello <martindemello@gmail.com> wrote:
>> On 10/22/06, Giles Bowkett <gilesb@gmail.com> wrote:
>>> Anybody know a way to make this DRYer?
>>>
>>> when /^([A-Za-z0-9,]+), '([^']+)', '([^']+)', '([^']+)'/
>>
>> grp = %{ '([^']+)'}
>> rx = /^([A-Za-z0-9,]+),#{grp},#{grp},#{grp}/
>
> Still too WET!
>
> grp = %{,'([^']+)'}
> rx = /^([A-Za-z0-9,]+)#{grp*3}/
>
> Now, can someone how to make this DRYer?
rx = Regexp.new ['^([\w,]+)', *["'(.+?)'"]*3].join(', ')
;-)
(assuming '_' in the first field is acceptable)
Gennady.