的連接的第一個名單上有以下表現:球拍/計劃返回列表
(list '* '* '* (list '- '- '- (list '* '* '*)))
我想提取:
(list '* '* '*)
(first (list '* '* '* (list '- '- '- (list '* '* '*))))
不會出於某種原因。你們有什麼想法如何解決這個問題?
編輯:好的,謝謝!現在我遇到了我的問題。
所以我的主要問題是生產,看起來像一個列表:
(define a '((* * *) (- - -) (* * *)))
我力圖突破摩爾斯電碼爲代表的信件幾部分組成。每個字母都由一個間隙標記分隔。我現在的功能是這樣的:
(define (break-sign los sign)
(cond
[(empty? (rest los)) (cons (first los) empty)]
[(symbol=? (first (rest los)) sign) (cons (first los) (cons (break-sign (rest (rest los)) sign) empty))]
[else (cons (first los) (break-sign (rest los) sign))]
)
)
它產生像列表這裏面是很難獨立:
(list '* '* '* (list '- '- '- (list '* '* '*)))
我敢肯定,必須有一個更簡單的解決方案,它返回一個更有用名單。我是新來的語言,但我會很感激任何幫助。
你是說,而不是'(名單 '*' * '*(名單' - ' - ' - (名單 '*' *「*))) '你想要'(list(list'*'*'*)(list' - ' - ' - )(list'*'*'*))'? –
你還可以爲'break-sign'顯示一些示例輸入嗎?我不知道該功能正在嘗試做什麼。 –