首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何将命令行参数传递给GHCi

GHCi是Glasgow Haskell Compiler的交互式解释器,它允许我们在命令行中直接执行Haskell代码。要将命令行参数传递给GHCi,可以使用以下步骤:

  1. 打开终端或命令提示符窗口。
  2. 输入ghci命令启动GHCi解释器。
  3. 在GHCi提示符Prelude>后面输入:set args 参数1 参数2 ...,其中参数1 参数2 ...是你想要传递给程序的实际参数。注意,参数之间用空格分隔。
  4. 输入:main命令来执行你的Haskell代码,并将命令行参数传递给它。

以下是一个示例:

代码语言:txt
复制
$ ghci
GHCi, version 8.10.4: https://www.haskell.org/ghc/  :? for help
Prelude> :set args arg1 arg2
Prelude> :main

在上面的示例中,我们通过:set args命令将arg1arg2作为命令行参数传递给了Haskell程序。然后,我们使用:main命令执行程序。

需要注意的是,GHCi只能在交互式环境中传递命令行参数,而无法在编译后的可执行文件中传递参数。如果你需要在编译后的可执行文件中传递命令行参数,可以使用System.Environment模块中的getArgs函数来获取命令行参数列表,并在代码中进行处理。

希望这个回答对你有帮助!如果你对其他云计算或IT互联网领域的问题有进一步的疑问,请随时提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何将多个参数递给 React 中的 onChange?

有时候,我们需要将多个参数同时传递给 onChange 事件处理函数,在本文中,我们将介绍如何实现这一目标。...多个参数传递有时候,我们需要将多个参数递给 onChange 事件处理函数。例如,假设我们有一个包含两个输入框的表单。每个输入框都需要在变化时更新组件的状态,但是我们需要知道哪个输入框发生了变化。...当 input 元素发生变化时,我们调用 handleInputChange 函数,并将 inputNumber 和 event 对象作为参数递给它。...当 input 元素发生变化时,我们调用 handleInputChange 函数,并将 inputNumber 和 event 对象作为参数递给它。...结论在本文中,我们介绍了如何使用 React 中的 onChange 事件处理函数,并将多个参数递给它。我们介绍了两种不同的方法:使用箭头函数和 bind 方法。

2.2K20

python中如何定义函数的传入参数是option的_如何将几个参数列表传递给@ click.option…

如果通过使用自定义选项类将列表格式化为python列表的字符串文字,则可以强制单击以获取多个列表参数: 自定义类: import click import ast class PythonLiteralOption...ast.literal_eval(value) except: raise click.BadParameter(value) 该类将使用Python的Abstract Syntax Tree模块将参数解析为...自定义类用法: 要使用自定义类,请将cls参数递给@ click.option()装饰器,如: @click.option('--option1', cls=PythonLiteralOption,...这是有效的,因为click是一个设计良好的OO框架. @ click.option()装饰器通常实例化click.Option对象,但允许使用cls参数覆盖此行为.因此,从我们自己的类中继承click.Option

7.7K30

PowerShell 的命令行启动参数(可用于执行命令、参或进行环境配置)

我们都知道如何在命令行或各种终端中启动一个程序,但是当你需要自动启动这个程序的时候,你就需要知道如何通过 PowerShell 或其他命令行终端来启动一个程序,而不是手工输入然后回车运行了。...本文就介绍 PowerShell 的命令行启动参数。利用这些参数,你可以自动化地通过 PowerShell 程序来完成一些原本需要通过手工执行的操作或者突破一些限制。...---- 一些必须通过命令行启动的程序 一般来说,编译生成的 exe 程序都可以直接启动,即便是命令行程序也是如此。但是有一些程序就是要做一些限制。...比如下面的 FRP 反向代理程序: 借助 cmd.exe 来启动的方法可以参见我的另一篇博客: cmd.exe 的命令行启动参数(可用于执行命令、参或进行环境配置) - 吕毅 那么我们如何能够借助于...你就可以看到 PowerShell 的使用说明: PowerShell 的启动参数示例 使用 PowerShell 间接启动一个程序并传入参数 下面的命令,使用 PowerShell 间接启动 frpc.exe

1.4K30

cmd.exe 的命令行启动参数(可用于执行命令、参或进行环境配置)

本文就介绍 cmd.exe 的命令行启动参数。利用这些参数,你可以自动化地通过 cmd.exe 程序来完成一些原本需要通过手工执行的操作或者突破一些限制。...顺便,使用 PowerShell 来启动的方法可以参见我的另一篇博客: PowerShell 的命令行启动参数(可用于执行命令、参或进行环境配置) - 吕毅 cmd.exe 的帮助文档 先打开一个 cmd...命令来查看这些参数详细说明,所以本文不会非常详细地列举各个参数的含义,只会列出一些常见的使用示例。...cmd.exe 启动参数使用中的坑 在上面的例子中,我们的路径中不涉及到空格。我们知道,路径中有空格的话,在命令行中使用需要加上引号。...命令行 开关比注册表设置有优先权。 在批处理文件中,SETLOCAL ENABLEEXTENSIONS 或 DISABLEEXTENSIONS 参数 比 /E:ON 或 /E:OFF 开关有优先权。

1.5K20

Heskell与函数式编程

编写第一个Haskell 编写Haskell之前需要把Haskell Platform下载下来(https://www.haskell.org/platform/),安装后使用ghci就可以进行Haskell...我的电脑是Windows,在Windows下打开cmd,输入ghci,就能进入编程界面,在这个界面能够进行简单的编码,比如下面: ? 这里简单的进行了一次 3+5的求和操作。...写完保存成文件(这里保存为cal.hs),以.hs作为后缀,在对应目录的命令行下面输入 :l 文件名 ? 调用自定义的函数findMax,输入参数1 3,然后就能够看到输出最大值3了。...( a -> a ) -> a ,最后一个参数输出,前面两个a是入参,用文字来描述就是: 输入两个Ord类族的参数,输出一个Ord类族的输出。...用文字来表述: 入参是(Ord , Ord , (Eq , Fractional) )类族的三个参数,出参是一个Boolean值,其中z具有Eq和Fractional两个特性,Eq的作用是能够做==比较

79270

pytest文档10-命令行参addoption

前言 命令行参数是根据命令行选项将不同的值传递给测试函数,比如平常在cmd执行”pytest —html=report.html”,这里面的”—html=report.html“就是从命令行传入的参数...对应的参数名称是html,参数值是report.html contetest配置参数 1.首先需要在contetest.py添加命令行选项,命令行传入参数”—cmdopt“, 用例如果需要用到从命令行传入的参数...1.如果不带参数执行,那么默认的default=”type1”,接下来在命令行带上参数去执行 $ pytest -s test_sample.py —cmdopt=type2 test_sample.py...8: AssertionError ========================== 1 failed in 0.05 seconds =========================== 2.命令行参数有两种写法...,还有一种分成2个参数也可以的,参数和名称用空格隔开 $ pytest -s test_case1.py —cmdopt type

2.9K30

用Click编写Python命令行工具

在本教程的最后,你会知道: 为什么click相比于argparse和optparse来说是一个更好的选择 如何用它创建一个简单的CLI 如何将强制命令行参数添加到您的脚本 如何解析命令行标志和选项 如何通过添加帮助...根据CLI的复杂性,通常可以将参数递给脚本,可以是: 1.参数,它是传递给脚本的必需参数。如果您不提供它,CLI将返回一个错误。...在我们的例子中,命令行参数location的值将作为位置参数递给主函数。有道理吧? 你也可以在你的名字中使用破折号( - ),例如api-key,在这个函数中,Click会将名字的中划线变为下划线。...我之前提到,click从较长的版本创建传递给主函数的参数。 在option的情况下,它将划破前面的破折号并将其变成snake_case的情况。 --api-key变成api_key。...以下是你所学到的: 为什么click是一个更好的选择相对argparse和optparse 如何用它创建一个简单的CLI 如何将强制命令行参数添加到您的脚本 如何解析命令行标志和选项; 如何通过添加帮助

3.3K10

【Linux】详谈命令行参数&&环境变量

一、浅谈命令行参数 我们的main函数正常来说是没有参数的,其实我们也可以给我们的main函数加上参数。...当你从命令行运行一个程序时,命令行解释器会负责解析命令行中的各个部分,包括程序名(即argv[0])和传递给程序的任何选项(即argv[1]、argv[2]等)。...解释器还会计算选项的数量,并将其作为argc的值传递给main函数。命令行解释器会负责将这些信息正确地传递给程序的main函数,以便程序能够使用它们。...,我们就可以通过在命令行不同的选项,让我们的同一个程序执行它内部不同的功能。...env表的起始地址传递给我们程序的main函数的env参数,此时我们的进程也就拿到了父进程给我们的环境变量。

8810

PHP脚本指南-解析GNU C风格命令行选项

2020年新年第一文,冲鸭~来说一下PHP脚本开发时如何去解析对应的命令行选项 获取脚本名称 我们先来说一下如何获取当前执行的脚本是什么,我们可以使用$argv来获取,$argv包含当运行于命令行下时传递给当前脚本的参数的数组...; var_dump($argv); var_dump(isset($argv)); } } A::b(); 不声明为全局时结果就是null和false 获取命令行参数...在 PHP 中,当我们在获取命令行参数时,可以通过遍历$argv来获取,遍历这里就不说了,提供一个代码段,见GithubGist 我们来说一下PHP使用 getopt 这个函数来解析命令行选项,PHP...长参数由于是多字节,所以必须是数组,否则没法分隔 以上的两个参数字符后用单独的字符表示不接受值;后面跟随一个冒号:的字符表示此选项需要值(必填);后面跟随两个冒号::的字符表示此选项的值可选 下面我们来看一下具体代码示例..." -dh -s15 array ( 'e' => 'test.php', 'd' => false, 'h' => false, 's' => '15', ) 如果短参数和完整参数的话

1.2K70

命令行工具转为 Web 页面?

这是个什么东西 作为程序员不可避免的会与命令行打交道。我们会用很多的命令行工具,甚至自己开发一些命令行工具。那么如何将一个命令行工具转成 web 页面,变成一个「云端应用」,方便地与队友共享呢?...比如我做了一个可以将命令行转为 web 页面的工具叫 ttw(terminal to web),此时我想将 vi 变成一个 web 页面。...至此,我们就完成了将命令行工具转化为 web 页面的功能。 如何实现 我们可以将命令行工具看成是「从标准输入或者命令行参数读取输入,然后做一些处理,最后做出响应(包括读写文件,输出等)」。...❞ 整个架构可以分为三个部分,命令行客户端,web socket 客户端 和 server 端。 命名行客户端负责解析输入,并 fork 子进程调用真实的命令行工具,同时将代理的输入传递给它。...当然有了,以下这两款工具都可以将你的命令行转化为 web 页面。

1K40

C++の函数

我们把这成为引用调用。如果是下面这样的,仅仅一个值的话,我们称为“值调用”。...,值以外,我们的参数列表还可以传递指针,就是把一个对象或变量的地址进去,传递指针可以实现和传递引用同样的功能,就是希望通过函数改变参数的值,然后能把这个值传出。...除此以外,如果我们的参数比较大的话,也建议使用引用形参传递给参数,因为引用没有实体,是原输入数据的别名,不对数据进行拷贝,因此有更高的效率。...main函数获取命令行参数 很多情况下,我们会用到main函数获取命令行参数,那么这是怎么实现的呢?...,假设我有一个test_func可执行文件,我在命令行执行下面的命令: test_func arg1 arg2 arg3 arg4 arg5 那么我们就可以在函数中读到argc的值为5,参数列表中的值分别为

50810
领券