Я пишу программу, которая принимает список и выводит значение true, если элементы в списке чередуются.Например, если первое число положительное, второе число должно быть отрицательным, а затем третье число снова должно быть положительным и т. Д.
Я попытался реализовать простое выражение cond (показано в коде), нопродолжаю сталкиваться с ошибкой в моем чеке.Ошибка гласит: first: expects only 1 argument, but found 2
.
(define (alternating? lst)
(cond [(empty? lst) true]
[(> (first lst) 0)
(cond [(< (first (rest lst) 0)) (alternating? (rest lst))])]
[(< (first lst) 0)
(cond [(> (first (rest lst) 0)) (alternating? (rest lst))])]
[else false]))
Когда вы смотрите на код, он выглядит так, будто сначала он принимает только один аргумент из списка, но ошибка говорит о том, что это не так.