方案表达

时间:2012-10-17 17:29:31

标签: scheme

如果你为我解释这个问题,我将非常感激。我一直在思考它已经有一段时间但是无法解决它。我是一名自学者,这是麻省理工学院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)))

感谢您的帮助

1 个答案:

答案 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的类型。