[Top][All Lists]

[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.


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.


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
you running on ("Smalltalk version" will tell you).


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

'\x1b[31mHi' displayNl

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

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


help-smalltalk mailing list

help-smalltalk mailing list

reply via email to

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