我在Scheme中編寫了一個程序,該程序接收一個包含數字和兩個空列表的列表。我希望將正數加入到一個列表中,而將負數放在另一個列表中。最後,我想返回兩個列表的連接。我爲此目的使用附加這樣的:在列表上遞歸時返回空列表
(define (joinLists listInic list1 list2)
(if (empty? listInic)
(append list1 list2)
(begin
(if (> (car listInic) 0)
(append list1 (car listInic))
(append list2 (car listInic))
)
(joinLists (cdr listInic) list1 list2))))
但是當我喜歡的一些數據運行:
(joinLists '(4 5 -5 -4)'()「())
它總是返回空列表()
我做錯了什麼?