日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

scheme 学习:pair 和 list

發布時間:2023/12/20 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 scheme 学习:pair 和 list 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
;pair;cons可以用于構建pair,如(cons 1 2)->(1 . 2);car獲得pair中的first,cdr獲得pair中的second;(car (cons 1 2))->1 (cdr (cons 1 2))->2;(cons 1 (cons 2 3))->(1 2 . 3)這是scheme輸出pair時候的一種簡略形式;實際上述pair的first是1,second是(2 . 3) ;類似的(cons 1 (cons 2 (cons 3 4)))->(1 2 3 . 4);實際的存儲形式是(1 . (2 . (3 . 4)));list;list也是一種pair,其first可以是任意類型,second或是一個pair或是nil;用以表示list的結尾;例如:(list 1)->(1) first:1 second:nil;(list 1 2 3 4)實際上由(cons 1 (cons 2 (cons 3 (cons 4 nil))))構造出來;也就是說(list 1 2 3 4)的輸出實際上跟(1 2 3 4 . nil)是等價的,但是當最后一個;元素是nil時在輸出中可以被省略,所以(list 1 2 3 4)的實際輸出是(1 2 3 4);append;用于將兩個list合成一個list,例如(append '(1) '(2 3))->(1 2 3);比較(cons '(1) '(2 3))->((1) 2 3) (cons 1 '(2 3))->(1 2 3);可一得到append的一種實現方式 (define (append list1 list2)(if (null? list1)list2(cons (car list1) (append (cdr list1) list2))))

?

轉載于:https://www.cnblogs.com/sniperHW/archive/2013/05/29/3106266.html

總結

以上是生活随笔為你收集整理的scheme 学习:pair 和 list的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。