好吧,所以即时尝试在我在网上找到的幻灯片做这个例子。但我有点失落。继承人对问题的扫描无法得到这个合理的工作(斯卡拉)
对不起,它不会让我使用图像链接,所以我把从我的photobucket问题的链接。
现在我认为,这可能是因为在网上下个整数例子,我发现的总和,并在有理数
堵漏def sum (f: Rational => Rational)(b: Rational): Rational = {
if (b > new Rational(0,1))
new Rational(0,1)
else
f(b) + sum(f)(b + new Rational(1, 1))
}
一样方便,得到了,但它显然是错误的,并没有做什么的问题在问。所以现在我失去了一个困惑如何去做这个
你写的东西并不明显与幻灯片上的算法相关。你需要得到分子和分母,并在组合上调用f。你会怎么做? – 2014-10-27 07:07:37
正如保罗所说,你是否尝试过测试它?在你的图像中,它表示,对于b = 3/4,它应该返回f(1/2)+ ... +,但是你的代码没有递归返回0,如3/4> 0/1。 – 2014-10-27 09:42:21
我做了测试并得到了错误的答案,我想尝试并添加打印语句以查看每个部分是如何使用的。但我不知道如何把它们。每一次尝试添加一个打印语句被标记为错误。 – 2014-10-27 11:30:46