[18]> (position 3 '(1 2 3 4 5 6 7 8) :from-end nil) 2 [19]> (position 3 '(1 2 3 4 5 6 7 8) :from-end t) 2
Что делать?
position работает как задокументировано. Гиперспец говорит: :
position
Возвращаемая позиция - это индекс в последовательности самого левого (если from-end - true) или самого правого (если from-end - false) элемента, который удовлетворяет критерию; в противном случае ноль возвращается. Возвращаемый индекс относится к левому концу всей последовательности, независимо от значения начала, конца или от конца .
Попробуйте (position 3 '(1 2 3 4 3 2 1) :from-end t), чтобы увидеть, что на самом деле делает ключевое слово :from-end ...
(position 3 '(1 2 3 4 3 2 1) :from-end t)
:from-end
то, что вам нужно, гораздо проще - (- (length list) (position elem list))
(- (length list) (position elem list))