Size: a a a

2020 October 17

SA

Sokolov Andrew in Lisp Forever
сложной вещи
источник

a

akater in Lisp Forever
Чтоб и полуоткрытый интервал, и перечисление вариантов, и не слишком непохоже на обычный case, желательно.
источник

SA

Sokolov Andrew in Lisp Forever
ну про формат интервалов я сказал
источник

SA

Sokolov Andrew in Lisp Forever
перечисление вариантов можно через or
источник

VL

Valeriy L in Lisp Forever
(check-type 3 (integer 0 10))?
источник

VL

Valeriy L in Lisp Forever
(defmacro in-range (var min max)
 (flet ((crop (s) (parse-integer (symbol-name s) :start 1)))
   (cond
     ((and (integerp min) (integerp max))
      `(< ,min ,var ,max))
     ((and (symbolp min) (symbolp max))
      `(<= ,(crop min) ,var ,(crop max)))
     ((and (symbolp min) (integerp max))
      (alexandria:once-only (var)
        `(and (<= ,(crop min) ,var) (< ,var ,max))))
     ((and (integerp min) (symbolp max))
      (alexandria:once-only (var)
        `(and (< ,min ,var) (<= ,var ,(crop max))))))))
источник

VL

Valeriy L in Lisp Forever
я запилил короче
источник

VL

Valeriy L in Lisp Forever
работает)
источник

SA

Sokolov Andrew in Lisp Forever
есть еще (integer 0 (10)) напоминаю
источник

VL

Valeriy L in Lisp Forever
Sokolov Andrew
есть еще (integer 0 (10)) напоминаю
это шо значит
источник

SA

Sokolov Andrew in Lisp Forever
вхождение
источник

SA

Sokolov Andrew in Lisp Forever
как раз таки
источник

VL

Valeriy L in Lisp Forever
хмм ну так почему бы тогда не юзать check-type
источник

VL

Valeriy L in Lisp Forever
ой typep
источник

VL

Valeriy L in Lisp Forever
(typep 5 '(integer 0 (5)))
NIL
источник

VL

Valeriy L in Lisp Forever
значит невхождение
источник

SA

Sokolov Andrew in Lisp Forever
ага
источник

SA

Sokolov Andrew in Lisp Forever
а если убрать то
источник

SA

Sokolov Andrew in Lisp Forever
входит
источник

a

akater in Lisp Forever
Sokolov Andrew
ну про формат интервалов я сказал
Но тогда нельзя отличить

(number-case n
 ((0 (r)) )

это полуинтервал от 0 до r или замкнутый интервал от 0 до (r).
источник