- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我刚开始学习函数式编程,我的选择是haskell。
几天没问题,直到控制台中发生了一些奇怪的事情
起初我以为教程(http://learnyouahaskell.com/starting-out)是错误的
Prelude> [ (a,b,c) | c <- [1..10], b <- [1..c], a <- [1..b], a^2 + b^2 == c^2]
[(1,1,1)]
(3,4,5)
和
(4,6,8)
.
3^2+5^2
,它会吐出大量数字(大约 60 行数字,大约 3000 位数字);
4^2+3^2
似乎产生相同的数字。
100
Prelude> 100 + 200
100
Prelude> 300 + 500
100
最佳答案
正如@BluePeppers 所建议的那样,正在发生的事情是您以某种方式完成了相当于 let a+b = 100
的操作。在 ghci 中,之后它使用该定义而不是通常的 +
在你所有的表达中。
您可能仍然想知道为什么会给出如此庞大的数字,直到我意识到第二点:重新定义 (+)
还重新定义其优先级,默认为 9(最高)。所以你的例子被解释为:
[ (a,b,c) | c <- [1..10], b <- [1..c], a <- [1..b], a^2 + b^2 == c^2]
[ (a,b,c) | c <- [1..10], b <- [1..c], a <- [1..b], a^100^2 == c^2]
3^2+5^2
3^100^2
关于Haskell 随机吐出错误的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25639425/
我需要我正在构建的 clojure 应用程序的配置文件。它们应该足够容易让用户在文本编辑器中修改并且方便我的程序阅读。 我正在考虑序列化 s-表达式并使用 spit 将其放入用户主目录中的配置文件中,
我已经使用 GridLayout 几个星期了,我在打电话时注意到了这一点 gridLayout.requestLayout() 它在 LogCat 中吐出以下调试级消息: D/android.widg
我告诉 visual studio 构建一个 .dll,但无论我做什么,它只会构建一个 .lib。我将配置类型设置为 .dll,扩展名设置为 .dll,在我有“_WINDLL”的预处理器指令中,我将输
我想将 ebook-convert 与 Gitbook 一起运行,以从我的静态文件生成我自己的 pdf 文件。当我输入 ebook-convert 时,我收到了这个愚蠢的错误信息…… 我安装了 pyt
一般FindOne fmt.print result { }。我需要输出值。 我正在使用来自文档的几乎标准设置:https://docs.mongodb.com/ecosystem/drivers/g
我们已经为 Xinha 文本编辑器编写了一个插件来处理脚注。你可以看看: http://www.nicholasbs.com/xinha/examples/Newbie.html 为了处理Webkit
我在 pyramid 框架上有一个应用程序,我到处调用 request.route_url。我刚刚将我的应用程序切换到 HTTPS,所有链接仍然以 HTTP 形式出现。 是否有一个全局设置我可以放在某
我是一名优秀的程序员,十分优秀!