;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相关推荐

  1. scheme 学习:红黑树

    这几天继续学习scheme,scheme中虽然有hashtable但没有类似C++中的map,于是把C版本中的红黑树移植到scheme(中间也发现了C版本中的一些问题,暂时懒得调整了^()^) 以作为 ...

  2. Scheme学习系列二:调用C代码

    1.test.scm ;;1.declare include (c-declare #<<c-declare-end #include <stdio.h> c-declare- ...

  3. Scheme学习系列O:启动篇

    Gambit下载地址 如果你也在陶冶情操闲暇时以SICP为乐,那必须先利其器 1. Structure and Interpretation of Computer Programs <计算机程 ...

  4. Scheme学习系列一 :源码安装Gambit

    0.配置需要环境 # sudo apt-get install libusb-dev usbutilslinux上安装mingwin # sudo apt-get install mingw32下载地 ...

  5. 开始学习Scheme

    开始学习Scheme 函数式编程(Functional Programming)是在MIT研究人工智能(Artificial Intelligence)时发明的,其编程语言为Lisp.确切地说,Lis ...

  6. .NET DLR 上的IronScheme 语言互操作IronScheme控制台输入中文的问题

    前言 一直以来对Lisp语言怀有很崇敬的心里,<黑客与画家>对Lisp更是推崇备至,虽然看了不少有关Lisp的介绍但都没有机会去写段程序试试,就像我对C++一样,多少有点敬畏.这个周末花了 ...

  7. GitHub 上这个「计算机科学」自学指南火了!

    公众号关注 "GitHubPorn" 设为 "星标",每天带你逛 GitHub! 作者:Ozan Onay.Myles Byrne 译者:Keith Null ...

  8. 自学计算机科学,你需要这份指南

    相信经常看我的Github排行榜的朋友,最近会发现有一个项目经常上热门,TeachYourselfCS-CN,看名字就知道,这是一个教你自学计算机的项目,原作者为Ozan Onay和Myles Byr ...

  9. 【论文总结】Few-shot Object Detection via Feature Reweighting(附翻译)

    Few-shot Object Detection via Feature Reweighting基于特征重加权的小样本目标检测 论文地址:https://arxiv.org/abs/1812.018 ...

最新文章

  1. Label的作用是什么?是怎么用的?
  2. R语言可视化包ggplot2绘制饼图(pie chart)实战
  3. c++ volatile关键字
  4. loadrunner 11 下载地址
  5. ES6新特性5:类(Class)和继承(Extends)
  6. (译)如何用命令行在windows Azure上安装负载平衡的web Farm虚拟机(linux或其他)...
  7. java.lang object math string,面向对象知识点回顾
  8. openssl NDK 交叉编译
  9. 加速时光,让你永远70岁的「变老神器」FaceAPP突然爆红,却恐遭美国封杀
  10. ajax 原理----初级篇
  11. wordpress php 链接,WordPress中获取页面链接和标题的相关PHP函数用法解析
  12. python结构模式图_NetworkX:Python图与网络模型基础
  13. 高职对计算机课程要求,高职计算机课程对学生编程能力培养.doc
  14. 短视频解析技术原理,去水印原理分析整理汇总
  15. 台达DVP50MC11T与威纶触摸屏ModbusTCP通信
  16. iOS8 web下载ipa install App via OTA
  17. 史上最全的工控类软件链接 快收藏备用吧
  18. 离散数学:主范式(主析取范式、主合取范式)
  19. 流量魔盒FlowBox 发行的代币是DMC骗局分析
  20. SUSE LINUX 10.1如何ADSL上网指南(转)

热门文章

  1. gitlab安装以及操作文档
  2. SQL实现交,并,差操作
  3. react-redux简版实现
  4. 抢占乡镇渠道 中国手机厂商比苹果有经验
  5. JavaWeb三大组件之Servlet
  6. javascript提示抖动实现方法
  7. hadoop-hdfs-ha配置-搭建
  8. php接口,免认证的短信接口,每天单个号码140条以上
  9. 无法定位程序输入点SetDefaultDllDirectories
  10. django-oscar的默认地点打开后总是united kingdom