[英]Racket lang: access element in list
提供單個功能以訪問列表L中的元素a。
(define L '(1 2 (a 3 4 5)))
按照將id綁定到表達式結果的形式(定義id expr),我嘗試了以下操作:
(define L '(1 2 (a 3 4 5) (car(cdr L))))
cdr訪問列表的末尾,即3 4 5,如果我沒記錯的話,然后我將car放在列表的末尾以訪問列表的頭,即a。 但是,它在DrRacket IDE上不起作用。
我認為您打算這樣做:
(define L '(1 2 (a 3 4 5)))
(car (car (cdr (cdr L))))
=> 'a
也可以寫成:
(caaddr L)
=> 'a
您將(car(cdr L))
部分包括在列表L
。
> (define L '(1 2 (a 3 4 5) (car(cdr L))))
> L
(list 1 2 (list 'a 3 4 5) (list 'car (list 'cdr 'L))) ;; oh no
但這仍然不能提取'a
因為您需要訪問內部列表的car
:
(define L '(1 2 (a 3 4 5)))
(car (car (cdr (cdr L))))
;; or (caaddr L)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.