Sezione 3

La Console

Comunicare con l'utente: TALK, OUT, INP, SCREAM, input persistente e formattazione.

Progresso del corso 30%

La Console

La console è lo spazio dove il programma interagisce con l'utente.

TALK Output e input

TALK è la parola chiave principale. Tutto ciò che segue viene mostrato nell'output.

ciao = ciao
  TALK @ciao mondo!
  <* Output: ciao mondo! *>

Se @ fa riferimento a una variabile inesistente, la console chiede automaticamente un input e lo salva in quella variabile:

TALK Ciao, inserisci i tuoi dati \nNome: @nome \nCognome: @cognome
  TALK Ciao @nome @cognome

OUT e INP

Varianti di TALK considerate zucchero sintattico:

Parola chiaveComportamento
OUTSolo output. Con variabili inesistenti dà errore invece di chiedere input.
INPRichiede almeno un input.

Usa sempre TALK. OUT e INP possono risultare utili per chiarezza in certi contesti.

SCREAM

Stampa una lista mostrando anche i tag (al contrario di TALK che mostra solo i valori):

lista = [saluto | ciao]
  TALK @lista    >> [ciao]
  SCREAM @lista  >> [saluto | ciao]

TALK:V e TALK:F

TALK:V attiva un input persistente che appare sempre a fine output. L'input inserito viene salvato nella variabile speciale ASKED.

TALK:V Inserisci un comando:
  TALK Hai scritto: @ASKED

  TALK:V Nuova domanda:   >> sovrascrive la domanda precedente

  TALK:F                  >> disattiva l'input persistente

  TALK:V                  >> riattiva senza domanda
Attenzione: se si attiva un input con TALK o INP, oppure nessuna parte del codice richiama ASKED, TALK:V si disattiverà automaticamente.

Formattazione testo

È possibile colorare e stilizzare il testo nella console usando la sequenza di escape \C{}.

TALK \C{red+bold+_}Attenzione!\C{red}: \C{}salutare!

Sintassi: \C{colore+modificatori} — i modificatori si combinano con +. Per ripristinare lo stile di default usa \C{}.

ModificatoreEffetto
boldGrassetto
italicCorsivo
-Barrato
_Sottolineato

Colori disponibili: red, green, blue, yellow, orange, pink, cyan, purple, teal, white, gray, amber, lime, navy, gold, magenta, brown, sky.

È possibile usare anche colori esadecimali: \C{#ff9100}.

TALK \C{red+bold+_}Attenzione!\C{red}: \C{}testo normale
  <* "Attenzione!" in grassetto rosso sottolineato,
     ":" in rosso, resto normale *>

  TALK \C{#00e5ff}Testo ciano esadecimale\C{}