我使用以下函數將posns列表轉換爲三元組列表(posn,posn,symbol)供以後使用抽取實線:爲什麼我的函數有時會返回(共享...)而不是(list ...)
(define (list->triples a-list)
(cond
[(= (length a-list) 1) empty]
[else (cons (list (first a-list) (second a-list) my-color) (list->triples (rest a-list)))]
)
)
當我把它應用到(名單(-posn超出10 10)(化妝posn超出10 20))我得到
(list (list (make-posn 10 10) (make-posn 10 20) 'black))
不如預期,但是當我添加更多posns到清單我得到以下內容:
(shared ((-4- (make-posn 10 20))) (list (list (make-posn 10 10) -4- 'black) (list -4- (make-posn 20 20) 'black)))
我覺得很困惑。
它顯然表現得像我需要的列表,因爲它可以按照預期的方式繪製,但我只是沒有得到什麼(共享...)以及爲什麼我的函數返回這種類型的值。
我唯一的線索是它應該與列表中posns的存在有關,因爲我沒有得到與符號列表相同的行爲。
以防萬一這是相關的:我使用HTDP高級教學語言。
任何人都可以澄清爲什麼我得到這種類型的輸出?
謝謝。取消選中「顯示分享...」的竅門。 (並且我還編輯了我的帖子以包含有關語言設置的信息) –