首页
学习
活动
专区
工具
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.4K20

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

2.1K30

Haskell 自定义type与typeclass

,同样的我们可以套用在值构造器上,因为他们不过是回类型的函数而已 infixr 5 :-: data List a = Empty | a :-: (List a) deriving (Show, Eq...它接收一个类型参数(像是Int)从而构造出一个具体的类型。...这有点像函数,也是接收一个值作为参数并回另一个值。对于类型如何被套用到泛型上,我们看下正式的定义。 像是3,"abc"或者是takeWhile的值都有自己的类型(函数也是值的一种)。...我们可以在ghci中通过:k来获取一个类型的kind: Prelude> :k Int Int :: * *代表这个类型是具体类型。一个具体类型是没有任何类型参数的,值只能属于具体类型。...我们再对Maybe套用类型参数后再看看它的kind: Prelude> :k Maybe Int Maybe Int :: *

6810

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

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

2.4K20

Haskell Type与Typeclass

Type ghci中可以用:t检测表达式的类型 Prelude> :t "a" "a" :: [Char] 函数也有类型,编写函数时给一个明确的类型声明是一个好习惯 removeNonUppercase...可以这样解读head函数的类型:head函数接收一个a类型的List参数(即任意类型的参数)返回一个a类型的返回值(参数与返回值的类型必须是一样的,都是a类型) fst函数的类型: Prelude>...:t fst fst :: (a, b) -> a 可以看到fst取一个包含两个型别的 Tuple 作参数,并以第一个项的型别作为回值。...注意,a 和 b 是不同的型别变量,但它们不一定非得是不同的型别,它只是标明了首项的型别与回值的型别相同。...parse 这是因为haskell无法推导出我们想要的是一个什么类型的值,read函数的类型声明: Prelude> :t read read :: Read a => String -> a 它的回值属于

6610

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的作用是能够做==比较

81970

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

3K30

用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参数,此时我们的进程也就拿到了父进程给我们的环境变量。

27310

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
领券