我刚刚开始编写Haskell,基本上是因为我在寻找一种比C#更强大的数学语言,现在我很困惑。
现在我只想找到4的阶乘,然后打印出来,这是我到目前为止写的:
fact n = product [1..n]
main = do
print fact 4
当我试着调试它时,我得到了
错误:(3,8)ghc:无法匹配预期类型a1-
我做错了什么?
您需要括号:
main = do
print (fact 4)
GHC看到的是事实
和4
作为单独的参数传递给print
,但您想要的是将4
应用于事实
,然后将该结果应用于print
。您还可以使用
main = do
print $ fact 4
$
运算符本身不做任何事情,但它的优先级非常低,例如,它的优先级低于*
,并且它关联到右侧,因此可以编写如下内容:
f $ g . h $ m 1 $ 2 + 3
而不是
f ((g . h) (m 1 (2 + 3)))
我找到了一些基本的例子如何打印网页与JavaFX,但我正在寻找的例子,可以打印与应用程序内容的完整场景。有什么例子吗?
我现在在学习哈斯克尔。但我正在为“类型”而挣扎。 例如,函数的类型是
可以以与斐波那契数列类似的方式生成如下, 如何定义阶乘级数。 使现代化 令人尴尬的是,在添加这个问题之前,我已经试过了, 事实上,尾部的数字并不是连续的值。
使用 Photoshop,您可以打印任何兼容的 3D 模型,而无需担心 3D 打印机的限制。在准备打印时,Photoshop 会自动使 3D 模型防水。Photoshop 还会生成必要的支撑结构(支架和底座),以确保您的 3D 打印能够成功完成。 准备打印 3D 对象 选择“窗口”>“工作区”>“3D”以切换到 3D 工作区。 在 Photoshop 中打开 3D 模型。如果需要,请在打开 3D
设置打印方向 - 横向 设置打印方向 - 纵向
我如何在Haskell中解决这个问题? Q4.HS:7:18:无法将类型“[Char]”与“IO()”匹配预期类型:IO()实际类型:“(-)”的第一个参数中的字符串,即“(+)”的第二个参数中的“n”,即“(n-1)” Q4.HS:7:24:无法将类型“[Char]”与“IO()”匹配预期类型:IO()实际类型:“(-)”的第一个参数中的字符串,即“(*)”的第一个参数中的“n”,即“(n-1)