4.8序列

作者: jarod_chan | 来源:发表于2015-11-21 17:08 被阅读30次

Racket程序员更愿意写没有副作用的程序,因为纯函数的代码既容易测试又容易组合成大型程序。但是为了和外部环境无相作用,比如打印输入,操作图形界面,或者操作一个硬盘上的文件,我们需要序列。

4.8.1提前效果:begin

  (begin expr ...+)

expr安顺序执行,只返回最后一个表达式的值,其它被忽略。
很多形式,像lambda或者cond支持没有begin序列。这些形式被当做暗含begin。
begin形式在顶层,模块层,内部定义时有特殊作用。它可以构建在周围上下文之外的环境。这种行为主要用在宏里。

4.8.2滞后效果:begin0

  (begin0 expr ...+)

不同于begin,返回第一个表达式的值。在副作用发生在计算以后的情况下,特别是计算产生未知个数的结果的时候,它很有用。

4.8.3if效果: when unless

when用序列组合了if风格的条件,它只有then没有else。

  (when test-expr then-body ...+)

当测试表达式的结果是true,则所有的then-bodys都将被执行,且结果是最后一个表达式。

  (unless test-expr then-body ...+)

不同于when,除非测试表达式的结果为#f,否则then-bodys不被执行。

相关文章

  • 4.8序列

    Racket程序员更愿意写没有副作用的程序,因为纯函数的代码既容易测试又容易组合成大型程序。但是为了和外部环境无相...

  • openwrt( ubuntu12.04上安装gcc4.8)

    ubuntu12.04上安装gcc4.8 How to Install GCC 4.8 via PPA in Ub...

  • 121体育:中考体育怎样练习才能拿满分?

    中考体育测试的总体分数为16分,分配是4.8+4.8+6.4=16分也就是必考项目跳绳和长跑分别是4.8分,三选一...

  • 2019-04-09

    4.8日作业

  • 降级安装gcc/g++版本为4.8

    降级安装gcc/g++版本为4.8 (1). 下载gcc/g++ 4.8 (2). 链接gcc/g++实现降级

  • clang6.0编译环境安装

    1.clang6.0 需要 llvm 2.llvm需要gcc 4.8+ 3.gcc4.8+需要GMP 4.2+, ...

  • 4.8

    4.1和贾喜泉在一起 4.4奔现 4.7我提出分手,离开他租的房子,在一个好到不能再好的滴滴司机的帮助下找到宾馆。...

  • 4.8

    项目在进行中 确定整体框架

  • 4.8

    清明假期结束了,今天开始正式上课了。别说学生不好收心,我们作为老师,还想再玩会儿! 离开家心理难免还会有些失落,有...

  • 4.8

    今天由于身份证的事儿来的晚些,还好赶在第三节上课前返校,上了最后一节课。讲了第三单元试卷,同时要求每位同学务...

网友评论

      本文标题:4.8序列

      本文链接:https://www.haomeiwen.com/subject/elalhttx.html