2010-04-08 8 views
6

come creare un elenco in LISP e accettare elementi di elenco da utente?come creare un elenco in LISP e accettare elementi di elenco da utente?

+0

Non sono sicuro di aver capito la domanda. Hai una lista, ad esempio, (a b c) e vuoi che l'utente selezioni gli elementi dall'elenco? –

+1

come è possibile che questa domanda abbia 3 upvotes? Un upvote dovrebbe essere gettato su domande ben scritte. –

risposta

4

Utilizzare la funzione read per leggere l'input dell'utente. Per esempio:

[6]> (list (read) (read)) 
joe 
moe 
(JOE MOE) 

joe e moe sono le mie linee di ingresso, terminato da un ritorno a capo (premendo Invio). La funzione list crea un nuovo elenco.

2

Se volete leggere gli elementi di una lista di lunghezza sconosciuta, si potrebbe fare in questo modo (prende in ingresso fino NIL) [CL]:

(loop for read = (read) 
     while read collect read) 

In alternativa, la possibilità più semplice è in realtà:

(read) 

Perché l'utente può inserire (foo bar baz 1 2 3) anche qui.

Problemi correlati