※ ChatGPTを利用し、要約された質問です(原文:common lispのプログラミングについて)
common lispのプログラミングについて
色の英単語クイズをするプログラムが作りたいです。
イメージとしては
=====hi!=====
>ki yellow
correct!
>ao blue
correct!
>aka res
wrong.
>aka red
correct!
bye.(終了)
というものです。
全部で5問あり、全ての問題が終了するとbye.と出てきたクイズが終わります。
(もし間違ってももう一回同じ問題が出ます。)
これまでの成果としては、
(defun quiz ()
(princ "=====hi!=====")
(terpri)
(princ 'ao)
(setq cc '((ki . yellow)(ao . blue)(aka . red)
(cha . brown)(murasaki . purple)))
(quiz-tr))
(defun quiz-tr ()
(cond ((eq cc nil) (pprint 'bye.))
(t (quiz-tr
(print (cond ((eq (cdr (car (cdr cc))) (read)) 'correct!)
(t 'wrong.)))))))
という感じでご覧の通り、汎用性が全くないです。
末尾再帰などを使って5問まで回しながら、おのおのの問題について正誤判定していきたいのですが、非手続き型に慣れていないもので、良い案が浮かびません。
どなたかアドバイスを頂けると嬉しいです。
お礼
ありがとうございます! 参考にしてみます!