zoukankan      html  css  js  c++  java
  • 【SICP练习】54 练习2.22

    

    练习2.22

    题目中Louis的第一个程序将items中的元素一个一个的取出来然后平方然后answer中。而我们在上一题中则是迭代结构,是将元素平方后到一个大盒子中,而大盒子里又有一个元素被平方然后被到另一个稍微小点的大盒子中去。

    而修改后的程序看似解决了问题,其实错得更加离谱了。比如用(list 1 2 3 4 5)作为items一开始传入,程序先将1取出来平方,然后推到最前面,但是其后呢?此时的answer是什么,只不过是一个nil而已。因此每隔一个元素中间就有一个nil。于是返回的结果会是如此的丑陋:( ( ( ( ( ) . 1 ) . 4 ) . 9 ) . 16 ) . 25)。如果你怀疑这个结果是不是真的是因为我刚才那样的解释,没关系,看下面的这个检验。

    (cons (cons (cons (cons (cons ‘() 1 ) 4) 9 ) 16 ) 25 )

    ;Value: ( ( ( ( ( ) . 1 ) . 4 ) . 9 ) .16 ) . 25)

    版权声明:本文为 NoMasp柯于旺 原创文章,如需转载请联系本人。

  • 相关阅读:
    Centos7yum安装LNMP
    CentOS7安装和配置rsync+inotify
    SSH
    nginx https
    nginx rewrite
    nginx代理缓存
    nginx动静分离
    Centos7使用squid实现正向代理
    利用tengine的nginx_upstream_check_module来检测后端服务状态
    nginx基于tcp负载均衡
  • 原文地址:https://www.cnblogs.com/NoMasp/p/4786165.html
Copyright © 2011-2022 走看看