LINUX.ORG.RU

История изменений

Исправление saufesma, (текущая версия) :

Классно!

а вот такое сможешь у себя провоерить у меня NIL выскакивает

(defvar teens-alist 
  '((0 . "") (10 . "десять") (11 . "одиннадцать") (12 . "двенадцать") 
    (13 . "тринадцать") (14 . "четырнадцать") (15 . "пятьнадцать") 
    (16 . "шестнадцать") (17 . "семнадцать") (18 . "восемнадцать") (19 . "девятнадцать")))


(defun get-num (alist n)
  (if (= n 0)
      (car alist)
    (get-num (cdr alist) (- n 1))))


(format t "~a тысяч" (cdr (assoc (+ (* (get-num '(1 2) 0) 10) (get-num '(1 2) 1)) teens-alist))) ;;=> NIL

должно быть «двенадцать тысяч»

Исходная версия saufesma, :

Классно!

а вот такое сможешь у себя провоерить у меня NIL выскакивает

(defvar teens-alist 
  '((0 . "") (10 . "десять") (11 . "одиннадцать") (12 . "двенадцать") 
    (13 . "тринадцать") (14 . "четырнадцать") (15 . "пятьнадцать") 
    (16 . "шестнадцать") (17 . "семнадцать") (18 . "восемнадцать") (19 . "девятнадцать")))


(defun get-num (alist n)
  (if (= n 0)
      (car alist)
    (get-num (cdr alist) (- n 1))))


(format t "~a тысяч" (cdr (assoc (+ (* (get-num '(1 2) 0) 10) (get-num '(1 2) 1)) teens-alist))) ;;=> NIL

должно быть «двенадцать»