Doesn't just #printString do this?  It escapes single strings into doubles
- should do what you want if it is definitely a string.
-Chris

On Wed, Jul 24, 2013 at 8:34 AM, Mariano Martinez Peck <
[email protected]> wrote:

> Hi guys. I am a bit lost here and maybe someone can give me a hand. I have
> a string that may include a single quote inside. Say I have the
> string 'Sell ''13' . This string actually has a SINGLE quote, so if you
> print it in a file for example, you get 'Sell '13'. Of course, when you
> inspect the string in Pharo, it has 2 single quotes: 'Sell '' 13'. ok?
>
> Now...what I need is (quite weird I know) is to build a closure as a
> string and using the previous string as a literal of the closure.
>
> Imagine there is no single quote problem in my string, this would work
> perfect:
>
> (Compiler evaluate: '[  ', ' Transcript show: ', 'Sell '
> surroundedBySingleQuotes, ']') value.
>
> But, if instead of having 'Sell ', I have 'Sell '' 13', like this:
>
> (Compiler evaluate: '[  ', ' Transcript show: ', 'Sell '' 13'
> surroundedBySingleQuotes, ']') value.
>
> I get a SyntaxError of a unmatched string:
>
> [   Transcript show: 'Sell ' 13Unmatched string quote -> ']
>
> So...what can I do?  I GUESS the solution is to scape that. If I try
> adding 2 more single quotes, like this:
>
> (Compiler evaluate: '[  ', ' Transcript show: ', 'Sell '''' 13'
> surroundedBySingleQuotes, ']') value.
>
> it seems to work.  If this is correct, is there an easy way (a method?) to
> scape my string automatically so that it works?
>
> Thanks in advance,
>
> --
> Mariano
> http://marianopeck.wordpress.com
>

Reply via email to