我将尝试在Scheme和Prolog中编写一个函数,以返回列表的第一个、中间和最后一项。例如:
我已经为Scheme语言想出了以下代码,但是我对Prolog很陌生,不知道如何在Prolog中获得相同的结果。
find([4,5,8,7,9],L), L = [4,8,9]
。我已经为Scheme语言想出了以下代码,但是我对Prolog很陌生,不知道如何在Prolog中获得相同的结果。
(define (frst L)
(car L))
(define (last L)
(if (null? (cdr L))
(car L)
(last (cdr L))))
(define (nth L x)
(if (= x 1)
(car L)
(nth (cdr L) (- x 1))))
(define (firstMidLast L)
(list (frst L)
(nth L (ceiling (/ (length L) 2)))
(last L)))