[英]compare the length of two list and append in racket
我嘗試在Racket中編寫一個函數merge_longer,該函數將兩個列表L1和L2作為輸入。 如果L1長於L2,則該函數會將L2附加到L1。 否則,它將L1附加到L2。
(define L1 '(4 6 8 9))
(define L2 '(1 2 3))
(define (merge_longer L1 L2) (if (> length(L1) length(L2)) (append L1 L2)(append L2 L1)))
(merge_longer L1 L2)
但是,在運行該錯誤時會顯示該錯誤:application:not a procedure; 預期可以應用於給定參數的過程:'(4 6 8 9)arguments ...:[無]
有人可以幫我解決這個問題嗎?
你近了
(define (merge-longer l1 l2)
(if (> (length l1) (length l2))
(append l1 l2)
(append l2 l1)))
請注意,您可以在球拍中添加額外的括號。 當您編寫(l1)時,它的意思是“將函數l1應用於任何自變量”。 由於l1是列表,而不是函數,因此會出現錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.