0
下面是一個數字列表,當調用takeD時,它將生成一個與前面列表不同的列表。例如,如果你說(取D 3 L1),你會得到一個清單(1 2 3)。 intlistNew從給定數字開始的不同列表中創建一個列表。例如(takeD 3(delay(intlistNew 3 100)))將返回(3 4 5)。我試圖找出一種方法來改變intListNew,我不需要輸入100作爲參數只是3.我可以使用你的幫助。謝謝。帶延遲的方案列表
(define L1 (list 1 2 3 4 5 6 7 8 9))
(define (takeD n L)
(if (= n 0) '()
(cons (car (force L)) (takeD (- n 1) (cdr (force L))))))
(define (intlistNew m n)
(if (> m n) '() (cons m (delay (intlistNew (+ 1 m) n)))))
(takeD 3 (delay (intlistNew 3 100)))