On 3/4/25 12:09 AM, Vindex9 wrote:
> Program:
> ```d
> import std.stdio;
>
> void main() {
>      string s = "ταυ";
>      foreach(i, elem; s) {
>          writefln("%s %s '%s'", i, cast(int)elem, elem);
>          writefln("%s", elem);
>      }
> }
>
> ```
> Output:
> ```
> 0 207 '�'
>
> 1 132 '�'
> τ

[...]

> How does the second writefln know about the context and can adequately
> output a character on every other iteration?

It shouldn't and does not work in my environment (both inside an Emacs buffer and inside a Linux terminal).

I think you are running your program in an environment where 132 is mapped to τ, etc. Perhaps a "code page" setting is helping (or hurting) you there?

Ali

Reply via email to