[successivo] [precedente] [inizio] [fine] [indice generale]


Sezione 17.   Importazione ed esportazione dei dati

In questa sezione vengono descritti i comandi Pic che permettono lo scambio di dati fra Pic e l'ambiente esteno.

17.1   Inclusione di file e dati tabulati

Mediante la scrittura seguente:

copy nome_file

si inserisce il contenuto del file nome_file nel flusso di input di Pic. Le coppie di macro .PS/.PE eventualmente presenti vengono ignorate; in tal modo si possono includere figure precostruite.

Una variante(1) è la seguente:

copy [nome_file] thru {nome_macro | {separatore corpo_macro separatore}}

mediante la quale viene invocata la macro nome_macro - o eseguito il codice corpo_macro indicato in modo letterale - sugli argomenti ottenuti spezzando ciascuna riga del file nome_file in campi separati da spazi vuoti. La macro può avere sino a nove argomenti. Il codice corpo_macro dev'essere incluso in parentesi graffe, o fra una coppia di separatori (che però non possono comparire in corpo_macro).

Se si omette di indicare il file, le righe da elaborare vengono prelevate dal resto del flusso di input di Pic, sino all'occorrenza successiva della macro .PE.

In ogni caso, assieme al comando copy GNU Gpic consente l'utilizzo di un suffisso until parola, la cui aggiunta permette di controllare la conclusione del comando copy(2).

Di conseguenza, i listati 17.1 e 17.2 si equivalgono.

Listato 17.1. copy con until.

.PS
copy thru % circle at ($1,$2) % until "FINE"
1 2
3 4
5 6
FINE
box
.PE

Listato 17.2. copy senza until.

.PS
circle at (1,2)
circle at (3,4)
circle at (5,6)
box
.PE

17.2   Messaggi di debug

Il comando print accetta un numero qualunque di argomenti, li concatena nella loro forma di output e invia il risultato verso lo standard error. Ciascun argomento può essere un'espressione, una posizione oppure una stringa di testo.

Per degli esempi elementari, si considerino le sezioni 14 e 15.

17.3   Invio di comandi al postprocessore

La seguente scrittura:

command argomento ...

fa sì che Pic concateni gli argomenti e li invii a Troff.(3) Ciascun argomento dev'essere un'espressione, una posizione o del testo.

Il funzionamento di command è simile alle righe inizianti con . (sezione 19) oppure con \ (sezione 20), con la differenza che permette di passare i valori delle variabili.

17.4   Esecuzione di comandi della shell

La scrittura seguente:

sh separatore testo_qualsiasi separatore

espande le macro eventualmante presenti in testo_qualsiasi, dopodiché lo esegue come comando della shell.(4) Tale funzionalità può essere utilizzata per generare figure o file di dati per una successiva rielaborazione. I separatori possono essere una coppia bilanciata di parentesi graffe, oppure dei caratteri che non siano presenti in testo_qualsiasi.(5)


Informatica per sopravvivere 2006.01.30 --- Copyright © 2004-2006 Massimo Piai -- <pxam67 (ad) virgilio·it>


1) Mututata dal linguaggio Grap.

2) In pratica, il comportamento predefinito equivale a until .PE.

3) Oppure a TeX, se vengono utilizzate le opzioni -t o -c.

4) Per difetto, GNU Gpic non esegue in realtà il comando, per motivi di sicurezza. Per forzare l'esecuzione bisogna invocare il programma con l'opzione -U.

5) In entrambi i casi, testo_qualsiasi può contenere coppie bilanciate di parentesi graffe, e le eventuali stringhe possono contenere anche graffe non bilanciate.


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome importazione_ed_esportazione_dei_dati.html

[successivo] [precedente] [inizio] [fine] [indice generale]

Valid ISO-HTML!

CSS validator!