SICP 問題1.4
問題 1.4
われわれの評価モデルは, 演算子が合成式である組合せでも使えることを観察せよ. それに従って, 次の手続きの振舞いを述べよ.
(define (a-plus-abs-b a b)
( (if (> b 0) + -) a b) )
とりあえずぶっこも~
#lang racket
(define (a-plus-abs-b a b)
( (if (> b 0) + -) a b ) )
#| ①(b>0なら+を返す。そうじゃなければ-を返す。)
という計算式を (a-+-絶対値-b) として定義する。
(a-plus-abs-b -26 -85)
>59
#|a=-26,b=-85だったら
(if (> b 0) + -) a b ))
(( -85 なので、-を返す)ab)
つまり、( - a b)
-26 - (-85) =59 |#
(a-plus-abs-b)の塊に気取られたけど、ただの記号みたいなもんね。
見たかったことは、if文の中で演算子が組み合わせで使えるぞ、ということかな。日本語合ってるかな。