Bill Allombert on Sat, 21 Jan 2006 14:12:26 +0100


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: Two suggestions:


On Fri, Jan 20, 2006 at 08:27:50PM +0100, Karim Belabas wrote:
> An off-topic answer, which might be useful in another context; using
> a high-level external filter is a good alternative:
> 
>  code2seq(code) =
>  {
>    extern("echo " code "|perl -ne 'm/([0-9]+)([a-z]+)([0-9]+)/;
>                                    print \"[$1,\\\"$2\\\",$3]\" ' ")
>  }
> 
> P.S: for more complicated processing, an external script will be cleaner of
> course, it's a pain to escape all those quotes and backslashes. Also, my
> variant is unfortunately orders of magnitude slower than your "awkward"
> approach.

Well maybe we could provide a string splitting function using the
regex libc, for example 
?  Strregexp("([0-9]+)([a-z]+)([0-9]+)","11a1")
%1 = ["11","a","1"]

Also, it is in fact easy to find the conductor of a curve name, just 
eval() it:
? eval("11a1")
%1 = 11

So maybe the initial forell() is usable after all.

Cheers,
Bill.