• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Zippo

Função simples Lisp

2 mensagens neste tópico

Olá, pessoal.

Estou a desenvolver um projecto em Lisp mas tenho aqui uma função que me está a dar a volta à cabeça.

Recebe uma lista (posx) e um inteiro (posy), e depois compara de modo a fazer a inserção do elemento na lista, mas não está a funcionar porque devolve-me sempre a lista inicial.

O que estou a fazer mal?

(defun fazer_jogada (posx posy)
    
(cond
   ((null posx) (list posy))
   ((= posy (car posx))(cons 2 (cdr posx)))
   (T (fazer_jogada (rest posx) posy))
)        
   (print posx)    
  )

Obrigado pela ajuda.

Zippo ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não sei se te vai ajudar mas ai vai  a função pertence a uma lista, esta função verifica se um dado elemento pertence a uma lista

(defun pert(x l)

              (cond

              ((null l) nil)

              ((equal x(car l)) t)

              (t (pert x(cdr l)))

              )

              )

E fazes a chamada com esta

(pert 'bis '(1 2 3 4 mar 4 5 6 bis))

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora