99 Bottles of Beer/Lisp: Difference between revisions

(Lisp)
Line 55:
 
=={{header|Lisp}}==
Bit of a beginner in Lisp, but this seems to work:
</lang lisp>
(defun beer-verse (count)
"Recurses the verses"
(format t "~A bottle~:P of beer on the wall~%" count)
(format t "~A bottle~:P of beer~%" count)
(format t "Take one down, pass it round~%")
(format t "~A bottle~A of beer on the wall~%~%"
(if (= count 1)
"No"
(- count 1))
(if (/= count 2)
"s"
""))
(if (> count 1)
(beer-verse (- count 1))))
(beer-verse 99)
</lang>
 
{{Out}} (last three verses only):
<pre>
3 bottles of beer on the wall
3 bottles of beer
Take one down, pass it round
2 bottles of beer on the wall
 
2 bottles of beer on the wall
2 bottles of beer
Take one down, pass it round
1 bottle of beer on the wall
 
1 bottle of beer on the wall
1 bottle of beer
Take one down, pass it round
No bottles of beer on the wall
</pre>
 
=={{header|NewLISP}}==
Anonymous user