[plt-scheme] possibly silly question

From: Laurent (laurent.orseau at gmail.com)
Date: Fri Nov 27 02:48:23 EST 2009

On Thu, Nov 26, 2009 at 18:23, Matthias Felleisen <matthias at ccs.neu.edu>wrote:

>
> (define str "sdfdsf")
> (display (string-append "something" str))
>
> ;; if you really like the + symbol, define + to do some more locally
>
> #lang scheme
>
> (local ((define + (let ((+ +)) (lambda x
>                                 (cond
>                                   [(null? x) 0]
>                                   [(string? (car x)) (apply string-append
> x)]
>                                   [else (apply + x)])))))
>
>  (define str "sdfdsf")
>  (display (string-append "something" str)))
>


On the last line, Matthias probably meant:
 (display (+ "something" str)))

which shows that + ca be redefined locally to act like string-append (and
still keep its usual meaning on numbers).

Laurent



>
>
> On Nov 26, 2009, at 7:43 AM, Charlie Smith wrote:
>
> > hi
> >
> > i'd like to know if there is some way of adding strings (sorry, i don't
> what the correct term for this is, maybe variable interpolation?) like for
> example in ruby it would be like
> >
> > str = "sdfdsf"
> > puts "something" + str
> > output: "somethingsdsdf"
> >
> > the function string-append isn't what I want, because i would be adding
> strings somewhat arbitarily in between other strings
> >
> >
> >
> >
> > _________________________________________________
> >  For list-related administrative tasks:
> >  http://list.cs.brown.edu/mailman/listinfo/plt-scheme
>
> _________________________________________________
>  For list-related administrative tasks:
>  http://list.cs.brown.edu/mailman/listinfo/plt-scheme
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20091127/b767c044/attachment.html>

Posted on the users mailing list.