zoukankan      html  css  js  c++  java
  • 【SICP练习】79 练习2.51

            练习2.51

    通过书中前面的内容,我们知道below中来将框架分成上下两部分,而beside将框架分成左右两部分。因此,below定义如下:

    (define (below painter1 painter2)

      (let ((split-point (make-vect 0.0 0.5)))

         (let ((paint-top (transform-painter painter2

                                          split-point

                                          (make-vect 1.0 0.5)

                                          (make-vect 0.0 1.0)))

              (paint-down (transform-painterpainter1

                                            (make-vect 0.0 0.0)

                                            (make-vect 1.0 0.0)

                                            split-point)))

           (lambda (frame)

                (paint-top frame)

                (paint-down frame)))))

    另一种利用上一题中的rotate270等可以很容易的实现:

    (define (below painter1 painter2)

         (lambda (frame)

             ((flip-horiz

                  (rotate90

                      (beside

                          (rotate270

                             (flip-horizpainter1))

                          (rotate270

                             (flip-horizpainter2)))))

               frame)))

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

  • 相关阅读:
    企业大数据-之机器数据
    实践和感悟
    企业级大数据处理方案03-数据流程
    scala数据库工具类
    企业生产环境集群稳定性-HA就行吗?
    企业级大数据处理方案-02.环境决定需求、性能决定选型
    Scala编程之访问修饰符
    spark-submit提交参数设置
    window.location
    [转载]Arguments
  • 原文地址:https://www.cnblogs.com/NoMasp/p/4786140.html
Copyright © 2011-2022 走看看