help-smalltalk
[Top][All Lists]
Advanced

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

Re: [Help-smalltalk] ANSI Escape Codes


From: Paolo Bonzini
Subject: Re: [Help-smalltalk] ANSI Escape Codes
Date: Wed, 09 Jul 2014 09:26:52 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0

Il 08/07/2014 23:02, Ryland Taylor-Almanza ha scritto:
Looks like it works! Thanks Paolo! I don't really understand what
that's doing, though. Do you have any resources you could link that
explain what that whole (<string> % #($<16r1B>)) bit does?

"%" is just a so called "interpolation" operator. It looks for sequences that look like %number and replaces them with elements from the array on the right of the %.

In this case the array has one element and that element is a character with ASCII code 1B (in hexadecimal).

So the %1 in "%1[31mHi" is replaced with the escape character and printed.

Paolo

On Tue, Jul 8, 2014 at 12:58 PM, Paolo Bonzini <address@hidden> wrote:
Il 08/07/2014 19:58, Ryland Taylor-Almanza ha scritto:

Looks like I'm running 3.2.5, which came from my system's repos. Is it
recommended that I use the 3.3 alpha?


No, my mistake---it's just

 ('%1[31mHi' % #($<16r1B>)) displayNl.

with an uppercase B.

Paolo


On Tue, Jul 8, 2014 at 10:26 AM, Paolo Bonzini <address@hidden> wrote:

Il 08/07/2014 18:29, Ryland Taylor-Almanza ha scritto:

This seems to be giving me the following error.

stdin:1: parse error, expected '>'



You're probably using an older version of GNU Smalltalk.  What version
are
you running on ("Smalltalk version" will tell you).

Paolo


My apologies if I'm missing something. I'm a bit new to smalltalk

On Tue, Jul 8, 2014 at 1:13 AM, Paolo Bonzini <address@hidden> wrote:


Il 08/07/2014 02:50, Ryland Taylor-Almanza ha scritto:

I'm trying to make a console-based program that makes use of ANSI
escape codes. I can't seem to figure out how to go about printing a
string object formatted with ANSI escape codes. I've tried the
following.

'\x1b[31mHi' displayNl




You can use formatted strings to put the Escape character in place:

('%1[31mHi' % #($<16r1b>)) displayNl.

Paolo

_______________________________________________
help-smalltalk mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/help-smalltalk



_______________________________________________
help-smalltalk mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/help-smalltalk









reply via email to

[Prev in Thread] Current Thread [Next in Thread]