Lisp – file e binary streams

thw2

Per leggere e scrivere su file si deve creare un file-stream. Vediamo come creare un file semplicemente (dice TPH) con la macro with-open-file e scriverci dentro qualcosa. Piccola modifica: il file non lo creo nella home (detesto chi sporca la mia home, anche se sono io (beh, in effetti sono sempre io)). Il “./” è solo per chiarezza.

f0

OK, rileggo il file:

f1

OK, quasi semplice: rilegge le righe con un ciclo do; se ha raggiunto l’eof (end of file) la sostituisce con la firma. notare il format e (personale) niente if. Ma, dice sempre TPH, don’t worry.

Il passo successivo è di trattare (solo un assaggino per adesso) con i binary streams. Che è cosa simile a operare con i file streams.

b0
OK, fine. Come prima è da esaminare con attenzione la with-open-file e i suoi parametri.

Cioè: mica tanto semplice il Lisp, e il modo con cui lo sto approcciando, anzi hardly, assay 😉

Invece ho un problema con la REPL, anche qui perché sono niubbo, questo:

ePer fare gli esercizi proposti devo far pratica e non posso con tutte queste linee per un warning scemo :mrgreen:

Aggiornamento: l’errore è della REPL che uso, eseguendo con un’altra è OK:
agg-e
Aggiornamento #2: trovato! Colpa mia; CL è mooolto pistino, anche dentro la REPL:

agg-e2
Visto? Era semplice (e sapevo ma avevo dimenticato di saperlo). Pensandoci su un po’ ho realizzato che sono ancora troppo niubbo per scrivere codice fuori da quanto dice il prof a lezione. Ma quando finisco il corso mi scateno. Promesso 😉

Posta un commento o usa questo indirizzo per il trackback.

Commenti

  • glipari  Il 29 gennaio 2015 alle 12:37

    ma non è che devi quotare L?

    • juhan  Il 29 gennaio 2015 alle 12:41

      La quoti quando la definisci perché non deve valutarla; non quando la usi. Ho cercato nel manuale e sembra tutto OK, tranne che vuole la L globale. Appena ho tempo indago; da piccolo facevo spesso il debug e lo considero una specie di gioco tipo “trova l’oggetto nascosto”.

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google photo

Stai commentando usando il tuo account Google. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.

%d blogger hanno fatto clic su Mi Piace per questo: