из конца не работает, как я ожидаю в позиции - PullRequest
3 голосов
/ 27 ноября 2010
[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

Что делать?

Ответы [ 2 ]

6 голосов
/ 27 ноября 2010

position работает как задокументировано. Гиперспец говорит: :

Возвращаемая позиция - это индекс в последовательности самого левого (если from-end - true) или самого правого (если from-end - false) элемента, который удовлетворяет критерию; в противном случае ноль возвращается. Возвращаемый индекс относится к левому концу всей последовательности, независимо от значения начала, конца или от конца .

2 голосов
/ 27 ноября 2010

Попробуйте (position 3 '(1 2 3 4 3 2 1) :from-end t), чтобы увидеть, что на самом деле делает ключевое слово :from-end ...

то, что вам нужно, гораздо проще - (- (length list) (position elem list))

...