On Thu, Apr 19, 2012 at 14:53, Matthew Flatt <mfl...@cs.utah.edu> wrote:
> At Thu, 19 Apr 2012 14:43:44 +0200, Laurent wrote: > > On Thu, Apr 19, 2012 at 14:33, Matthew Flatt <mfl...@cs.utah.edu> wrote: > > > > > I agree with this: we should add `string-split', the one-argument case > > > should be as Eli wrote, > > > > > > About this I'm not sure, as one cannot reproduce this behavior by > providing > > an argument (or it could make the difference between > string-as-not-regexps > > and regexps? Wouldn't this be different from other places?). > > I'm suggesting that supplying `#f' as the argument would be the same as > not supplying the argument. > > It is a special case, though. I don't mind the specialness here, > because I see the job of `string-split' as making a couple of useful > special cases easy (as opposed to the generality of `regexp-split'). > Then instead of #f one idea is to go one step further and consider different useful cases based on input symbols like 'whitespaces, 'non-alpha, etc. ? Or even a list of string/symbols that can be used as a splitter. That would make a more powerful function for sure. (It's just that I'm troubled by the uniqueness of this magical default argument) Laurent > > > > It would then appear somewhat magical. To me the " " default splitter > seems > > more intuitive. > > > > Laurent > > > > > > > and the two-argument case should be as Laurent > > > wrote. (Probably the optional second argument should be string-or-#f, > > > where #f means to use #px"\\s+".) > > > > > > At Thu, 19 Apr 2012 14:30:31 +0200, Laurent wrote: > > > > (define (string-split str [sep #px"\\s+"]) > > > > > (remove* '("") (regexp-split sep str))) > > > > > > > > > > > > > Nearly, I meant something more like this: > > > > > > > > (define (string-split str [splitter " "]) > > > > (regexp-split (regexp-quote splitter) str)) > > > > > > > > No regexp from the user POV, and much easier to use with little > > > knowledge. > > > > _________________________ > > > > Racket Developers list: > > > > http://lists.racket-lang.org/dev > > > >
_________________________ Racket Developers list: http://lists.racket-lang.org/dev