Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Haskell中查询某些输入值的最简单方法是什么_Haskell - Fatal编程技术网

在Haskell中查询某些输入值的最简单方法是什么

在Haskell中查询某些输入值的最简单方法是什么,haskell,Haskell,在Haskell程序中获取一些值是/否、数字的最简单方法是什么。这些值应该绑定到一些变量,并且应该根据以前的输入询问其他问题 我正试图解决一个小问题,我认为哈斯克尔最适合解决这个问题。特别是为了以后扩展功能。另外,我也在尝试学习这种语言。我是Haskell的新手,但对Prolog有一些经验,所以对函数式编程有一些了解 我检查了所有与GUI开发相关的东西,但这实际上是对我所需要的东西的过度使用。输入应该是对一些问题的响应,这些问题取决于执行的状态 我希望这足够清楚 编辑: 我想要一些像这样的东西。

在Haskell程序中获取一些值是/否、数字的最简单方法是什么。这些值应该绑定到一些变量,并且应该根据以前的输入询问其他问题

我正试图解决一个小问题,我认为哈斯克尔最适合解决这个问题。特别是为了以后扩展功能。另外,我也在尝试学习这种语言。我是Haskell的新手,但对Prolog有一些经验,所以对函数式编程有一些了解

我检查了所有与GUI开发相关的东西,但这实际上是对我所需要的东西的过度使用。输入应该是对一些问题的响应,这些问题取决于执行的状态

我希望这足够清楚

编辑:

我想要一些像这样的东西。不是一次全部,而是在需要时作为弹出窗口


感觉有点像你的假设,Haskell在这里就像Javascript

也就是说,在Javascript中,通过使用PrompTere you Hunging或De渴?,可以很简单地在浏览器(如Chrome)中显示弹出窗口?,但这只是因为提示功能构建在浏览器提供的窗口对象之上,允许开发人员连接到浏览器内置的操作系统的窗口堆栈中

默认情况下,Haskell免费提供的功能要少得多。也就是说,如果你想显示一个弹出窗口,你必须使用一些允许你显示一些弹出窗口的库

这是一个比看起来更大的问题。这与任何其他批处理风格编程语言中的相同问题非常相似。您将如何在Java或Ruby中实现这一点?嗯,你需要找到一个支持它的库

wxWidgets是一个适用于多种语言的跨平台跨操作系统库。它是用C++构建的,但是对于Haskell和许多其他语言有绑定/库。Haskell库称为wxhaskell:

祝你好运,别指望这条路一定很容易


如果您对学习Haskell基础知识感兴趣,请随意阅读我帮助编写的本教程:

main=do x的可能副本您可以定义一个免费的monad来模拟交互。。。您声明GUI对于您的目的来说是多余的;但是您已经发布了GUI的图像。要澄清的是,您想要GUI还是命令行程序?为了进一步澄清,这个问题是关于创建问题/答案的抽象模型,还是关于如何创建带有文本框的GUI弹出窗口/如何在命令行上读取用户的输入?@user2407038首先回答第二个问题:这是第二个:GUI弹出窗口。一个完整的GUI将进入FRP方向。我不需要/不想有一个预定义的GUI,其中包含对点击或输入的反应。我在问答循环中寻求改进的readLn。所以有点:你是什么?饿了/达斯蒂,你想吃点什么?水/非碱/碱等。因此,在开始之后,会提出一些问题,并根据输入得出结论,出现新问题。大多数问题只允许回答是/否、数字或某些预定义选项。感谢您的澄清。除了Gtk2Hs、Haskell/GUI或三便士GUI、Autoforms等其他解决方案之外,您的解决方案也是我目前为止发现的。Glade还将帮助设计GUI和进行RFP。但所有这些都给我所寻找的东西增加了一些不必要的开销。看起来WxHaskell实际上是我想要达到的目标和需要付出的努力。