没有主要功能的编译/测试Haskell

散发着

我正在Haskell从事一项任务。但是,我正在使用的基本代码没有定义主要功能,从任务的措辞来看,我相信我无须在解决问题的方法之外编写任何代码。但是,当我尝试编译代码时,收到错误消息:

The IO function 'main' is not defined in module 'Main'

我认为这是因为该功能没有主要功能。但是,当我尝试编写自己的main函数时:

main :: IO ()
main = solve easy // easy is an array

我得到错误:

Couldn't match expected type 'IO()' with actual type '[Int]'

求解函数的类型声明如下:

solve :: [Int] -> [Int]

因此,它需要一个数组并返回一个数组。在编写main函数时我做错了什么?即使我尝试将的声明更改为main

main :: [Int]

或者

main :: IO [Int]

我仍然无法编译它。

菲利普

首先:函数main必须具有IO t某种类型的类型t执行程序时,将执行由定义的计算main,并且其结果(类型为t)将被丢弃;看这里

因此,尤其是,您不能具有mainas的类型[Int]并且编译器不会抱怨。

根据您是否要查看解决简单案例的结果,可以尝试以下方法之一:

如果要查看结果,请打印!

main :: IO ()
main = putStrLn $ show (solve easy)

如果您不希望看到结果,则将其丢弃:

main :: IO ()
main = let solution = solve easy 
       in putStrLn ""

编辑:但是,请注意,如果您选择后者,那么(如@ yatima2975在评论中提到的)“解决简单”部分将不会进行评估。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

带有主要功能的Scala测试

来自分类Dev

Linux内核有主要功能吗?

来自分类Dev

没有主要功能的org babel纠缠文件

来自分类Dev

没有主要功能的org babel纠缠文件

来自分类Dev

在没有主要功能的cmd中执行方法

来自分类Dev

可以在没有主要功能的情况下使用C程序吗?

来自分类Dev

没有主要功能的情况下,该cpp代码如何运行?

来自分类Dev

Haskell主要功能

来自分类Dev

不带主要功能的编译(MacOS)

来自分类Dev

来源的Bash脚本,每个都有主要功能

来自分类常见问题

在控制台中使用静态块在没有主要功能的情况下在控制台中打印一些语句

来自分类Dev

OCaml的主要功能

来自分类Dev

在没有libgdx的情况下运行主要功能时出错

来自分类Dev

在Go上具有多个主要功能

来自分类Dev

如何加快“搜索所有内容”的主要功能

来自分类Dev

具有三个参数的主要功能

来自分类Dev

我的主要功能有什么问题

来自分类Dev

主要功能中的功能原型?

来自分类Dev

主要功能中的功能原型?

来自分类Dev

带有命令行参数的Google基准测试。写我自己的主要功能?

来自分类Dev

使用spring摆脱主要功能

来自分类Dev

Scala主要功能的默认参数?

来自分类Dev

CMake发现多个主要功能

来自分类Dev

在类中定义主要功能

来自分类Dev

追踪ghci中的主要功能

来自分类Dev

#ifdef _DEBUG在主要功能中

来自分类Dev

递归中的主要功能

来自分类Dev

Scala主要功能的默认参数?

来自分类Dev

如何结束我的主要功能?