如果你为我解释这个问题,我将非常感激。我一直在思考它已经有一段时间但是无法解决它。我是一名自学者,这是麻省理工学院icampustutor网站的练习。
指出以下每个表达式的类型。使用符号“ - >”例如,为了表示“映射到”,过程square具有类型“number-> number”。使用以下术语来描述基本类型的数据:number,boolean,string。
1-(> 3 4)
2-((lambda (x) (* x 2)) 4)
3-(lambda (a b) (+ a (if b 1 0)))
感谢您的帮助
答案 0 :(得分:1)
获得帮助:
Welcome to DrRacket, version ...
> (> 3 4)
#f
> ((lambda (x) (* x 2)) 4)
8
> (lambda (a b) (+ a (if b 1 0)))
#<procedure>
第一个表达式的类型是布尔值,第二个表达式的类型是数字,最后一个表达式的类型是程序。
要查看程序的类型,请问自己a和b的类型必须是什么。
&lt;类型&gt; &lt; b的类型&gt; - &GT; &lt;类型(+ ...)&gt;
由于+始终返回一个数字,因此返回类型必须是数字。
&lt;类型&gt; &lt; b的类型&gt; - &GT;编号
现在填写a和b的类型。