File.In (gb)
Static Property Read In As File
Restituisce lo stream di input standard.
Questo esempio dimostra come leggere e scrivere sullo standard input, output ed error. Dimostra l'uso di File.In,
File.Out e
File.Err. Ogni linea vista sullo standard input viene ripetuta prima sullo standard output e quindi sullo standard error.
Esempio
PUBLIC SUB Main()
DIM inputLine AS String
' Cicla fino alla fine dello stream del file dello standard input
WHILE NOT Eof(File.In)
' Legge una riga dallo standard input. Questo è lo stesso di:
' LINE INPUT inputLine
LINE INPUT #File.In, inputLine
' Scrive sullo standard output. Questo è lo stesso di:
' PRINT inputLine
PRINT #File.Out, inputLine
' Scrive sullo standard error
PRINT #File.Err, inputLine
WEND
END
Crea un'applicazione da riga di comando e inserisci il codice nel modulo di avvio. Se si esegue questo esempio nella IDE di Gambas, l'applicazione sembrerà bloccarsi. Se si immette del testo nella finestra della console della IDE, a ciascuna riga verrà restituito l'eco due volte. Ma poiché l'applicazione non vede mai la fine del file dallo stream dello standard input, sarà necessario interrompere il progetto.
Per avere un'idea migliore di ciò che l'esempio sta facendo, crea un eseguibile dal tuo progetto. Supponiamo di chiamare questo eseguibile
pipe.gambas
. Apri un terminale Linux nella directory in cui hai salvato l'eseguibile. Se inserisci il comando:
vedrai che ogni riga del comando
ls -a
ti viene ripetuta due volte. Una volta dallo standard output e una volta dallo standard error. Questa volta l'applicazione vedrà la fine del file dallo stream dello standard input e quindi termina correttamente. Ora prova:
ls -a | ./pipe.gambas > files.txt
qui reindirizziamo lo stream dello standard output a un file di testo e potrai vedere lo stream dello standard output di errore nella finestra del terminale. Ora dovresti avere un file nella directory con l'output del comando
ls -a
.