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

如何确定正在运行的Haskell脚本或应用程序所在的目录?

要确定正在运行的Haskell脚本或应用程序所在的目录,可以使用以下方法:

  1. 使用getCurrentDirectory函数:

在Haskell中,可以使用System.Directory模块中的getCurrentDirectory函数来获取当前目录。以下是一个简单的示例:

代码语言:haskell
复制
import System.Directory

main :: IO ()
main = do
  currentDir <- getCurrentDirectory
  putStrLn $ "当前目录: " ++ currentDir
  1. 使用getExecutablePath函数:

System.Directory模块中的getExecutablePath函数可以获取当前运行的可执行文件的路径。可以通过splitPath函数来分割路径,然后获取目录部分。

代码语言:haskell
复制
import System.Directory
import System.FilePath

main :: IO ()
main = do
  executablePath <- getExecutablePath
  let dir = takeDirectory executablePath
  putStrLn $ "可执行文件目录: " ++ dir
  1. 使用getAppUserDataDirectory函数:

System.Directory模块中的getAppUserDataDirectory函数可以获取当前应用程序的用户数据目录。这个目录通常是操作系统中的用户数据目录,例如/home/username/.local/share(Linux)或C:\Users\username\AppData\Local(Windows)。

代码语言:haskell
复制
import System.Directory
import System.FilePath

main :: IO ()
main = do
  appDataDir <- getAppUserDataDirectory "MyApp"
  createDirectoryIfMissing True appDataDir
  putStrLn $ "应用程序数据目录: " ++ appDataDir

这些方法可以帮助你确定正在运行的Haskell脚本或应用程序所在的目录。

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

相关·内容

如何从Bash脚本本身中获得其所在目录

问: 如何从Bash脚本本身中获得其所在目录? 我想使用Bash脚本作为另一个应用程序启动器。我想把工作目录改为Bash脚本所在目录,以便我可以对该目录文件进行操作,像这样: $ ....但是在以相对路径方式去执行脚本时,获取目录信息是相对路径,不能满足其他需要获取绝对路径场景。 如果要获取绝对路径,可以使用如下方法: #!...测试结果如下: 另外,可以根据第一种方法结合使用 realpath 命令,也可获取脚本所在目录绝对路径: #!..."cd"来更改目录 为什么在可执行文件脚本名称之前需要..../(点-斜杠),以便在bash中运行它 shell脚本对编码和行尾符敏感吗

31220

loadrunne如何只测某个方法,只压测录制脚本部分代码运行用时

做压测时,因为需要只需要我去调用服务器工程上一个service层(springmvc)方法: ?...我只需要调用这个接口下call方法,去编写这样一个脚本是十分困难,小编h想了一天也没有头绪,后来在同事建议下还是使用录制脚本方法去修改录制脚本,进而得到我想要。...录制脚本需要登录服务器上这个工程,还要点击相应页面,然后填写入参,提交。其中我只需要填写入参,提交这些步骤,因为这个步骤是最接近我直接调用call方法代码过程。...因此登录和点击到此页面不是我需要,因此我在脚本页面做了以下修改: ?...曲线名字就是lr_end_transaction(“Trans_1”,LR_PASS);中LR_PASS。

54620
  • Debian 7上Yesod,Nginx和MySQL(Wheezy)

    Yesod是一个基于纯函数式编程语言HaskellWeb框架。它专为高效开发类型安全,RESTful和高性能Web应用程序而设计。...实际上,Yesod应用程序包含一个名为Warphttp服务器,它使用Haskell编写,运行时间非常快。如果没有安装ApacheNginx等http服务器,您可以运行独立Yesod应用程序。...发出命令后cabal build,您应用程序(myblog)将被构建并放入$HOME/myblog/dist/build/myblog/。这是我们要部署程序。您可以将目录移动到任何位置。...请注意,它还不能顺利运行,因为我们没有指示您站点静态文件所在位置。我们将在下一步中执行此操作。请按Ctrl-C立即停止。...如果您希望您站点作为守护程序运行,这意味着在一个恒定运行状态下,您可以创建一个init.d脚本

    81120

    以太坊主网上测试工具推荐

    而你是一个才华横溢且有抱负开发人员,希望创建下一个革命性金融应用程序,这将有助于拯救我们所有人并恢复和平。...唯一问题是,你不知道从哪里开始,并且你有很多问题: 你如何编写合约? 你如何测试合约? 你如何与其他协议交互? 你如何调试交易?...EVM实现而不是实际测试网运行代码。...如果你想进行确定性测试(不会在星期二通过,而星期五失败),我强烈建议你使用dapp.tools.其背后使用hevm,这是HaskellEVM实现 使用Haskell编写EVM(而不是PythonJS...你唯一需要关注应该是主网,网络ID为1。 如果你正在与多个协议(例如OneInch,Curve,Uniswap,Aave,Compound等)进行交互,则很有可能。

    1.2K20

    PFQ:一款针对多核心架构功能性网络框架

    该工具针对多核心架构以及配备了多硬件队列网络设备进行了高度定制优化,可兼容任意NIC,工具提供脚本还可以生成加速网络设备驱动器。...PFQ允许研究人员自己开发高性能网络应用程序,工具内置了自定义版本libpcap,可加速并行处理遗留应用程序。此外,PFQ还支持专为内核数据包处理设计纯函数语言:pfq-lang。...Pfq-lang受到了Haskell启发,主要针对运行在网络设备驱动器上特定应用程序。在pfq-lang帮助下,研究人员可以构建高效网桥、端口镜像、简单防火墙以及网络负载均衡器等等。...6、 通过随机散列确定性分类进行分组数据包转发。 7、 VLAN数据过滤。 8、 针对C、C++11-14和Haskell语言用户空间库。...9、 用于分析和编译pfg-lang程序pfq-lang编译器。 10、针对遗留应用加速PCAP库。 11、I/O用户内核内存映射。 12、Pfq-omatic脚本,自动加速普通驱动程序。

    70220

    网页错误码详细报错

    - 网关错误  用户试图通过 HTTP 文件传输协议 (FTP) 访问一台正在运行 Internet 信息服务 (IIS) 服务器上内容时,IIS 返回一个表示该请求状态数字代码。...例如,如果试图访问 ASP 页所在目录权限设为“无”,或者,试图执行 CGI 脚本所在目录权限为“只允许脚本”,将出现此错误信息。...• 您没有将试图执行文件类型脚本映射设置为识别所使用谓词(例如,GET POST)。...若要验证这一点,请在 MMC 中右击目录,依次单击属性、目录选项卡和配置,然后验证相应文件类型脚本映射是否设置为允许所使用谓词。  • 403.2 - 读访问被禁止。...如果试图运行 CGI 脚本不返回有效 HTTP 标头集,将出现此错误信息。

    5.5K20

    Java程序员新手老手都离不开八大开发工具

    1.Eclipse 尽管IntelliJ IDEA、NetBeans和一些其他IDE正在日益普及,但是有调查表明,Eclipse仍然是几乎半数Java开发人员首选开发环境。...Eclipse工作流程可分为三个方面:工作台,工作空间和视角。工作台作为到IDE出发点。工作空间将项目、文件和配置设置组合在一个单独 目录下。视角定义工具、视图和有效设置。...一个基本JUnit测试包括测试类、测试方法、以及执行测试功能。 JUnit使用标注来确定测试如何构造和运行。...官方网站:http://findbugs.sourceforge.net/ 7.VisualVM 包含在JDK中VisualVM是监控和审查Java应用程序性能工具。...Groovy核心优势之一是它脚本功能。类可以被编译为Java字节码使用Groovy Shell动态执行。

    85200

    Java程序员新手老手都离不开八大开发工具

    1.Eclipse 尽管IntelliJ IDEA、NetBeans和一些其他IDE正在日益普及,但是有调查表明,Eclipse仍然是几乎半数Java开发人员首选开发环境。...Eclipse工作流程可分为三个方面:工作台,工作空间和视角。工作台作为到IDE出发点。工作空间将项目、文件和配置设置组合在一个单独 目录下。视角定义工具、视图和有效设置。...一个基本JUnit测试包括测试类、测试方法、以及执行测试功能。 JUnit使用标注来确定测试如何构造和运行。...官方网站:http://findbugs.sourceforge.net/ 7.VisualVM 包含在JDK中VisualVM是监控和审查Java应用程序性能工具。...Groovy核心优势之一是它脚本功能。类可以被编译为Java字节码使用Groovy Shell动态执行。

    90330

    Java程序员新手老手都离不开八大开发工具

    1.Eclipse 尽管IntelliJ IDEA、NetBeans和一些其他IDE正在日益普及,但是有调查表明,Eclipse仍然是几乎半数Java开发人员首选开发环境。...Eclipse工作流程可分为三个方面:工作台,工作空间和视角。工作台作为到IDE出发点。工作空间将项目、文件和配置设置组合在一个单独 目录下。视角定义工具、视图和有效设置。...一个基本JUnit测试包括测试类、测试方法、以及执行测试功能。 JUnit使用标注来确定测试如何构造和运行。...官方网站:http://findbugs.sourceforge.net/ 7.VisualVM 包含在JDK中VisualVM是监控和审查Java应用程序性能工具。...Groovy核心优势之一是它脚本功能。类可以被编译为Java字节码使用Groovy Shell动态执行。

    99920

    【网页】HTTP错误汇总(404、302、200……)

    - 网关错误 用户试图通过 HTTP 文件传输协议 (FTP) 访问一台正在运行 Internet 信息服务 (IIS) 服务器上内容时,IIS 返回一个表示该请求状态数字代码。...例如,如果试图访问 ASP 页所在目录权限设为“无”,或者,试图执行 CGI 脚本所在目录权限为“只允许脚本”,将出现此错误信息。...• 您没有将试图执行文件类型脚本映射设置为识别所使用谓词(例如,GET POST)。...如果试图运行 CGI 脚本不返回有效 HTTP 标头集,将出现此错误信息。...• 200 命令确定。 • 202 未执行命令,站点上命令过多。 • 211 系统状态,系统帮助答复。 • 212 目录状态。 • 213 文件状态。 • 214 帮助消息。

    11.1K20

    为什么 Haskell 是我们构建生产软件系统首选

    仅当这类纯函数没有副作用(例如在主机系统上创建文件、运行数据库查询发出 HTTP 请求)时这才能做得到。Haskell 类型系统就具有这种纯度。...ghcid 会立即捕获程序员在使用 Python PHP 之类语言编写 Web 服务时遇到许多运行时错误,并将它们显示为编译器错误。...case 语句使我们能够处理 status 参数不同可能值。 类型系统可以防止我们在更改域规则时犯错误。假设这个应用程序运行了一段时间之后,我们从用户那里获得了反馈,于是我们需要能够退还发票。...其中一个分支是 Haskell 库有时会使用领域特定语言(DSL)来提高其可用性。与通用语言相反,DSL 是一种小型语言,旨在专门用于表达特定应用程序问题域规则。...在 Foxhound Systems,我们使用 Haskell 创建快速可靠定制软件。是否正在寻找可以帮助您开发新产品Haskell 引入您自己开发团队帮手?

    1.4K10

    如何在Debian 8上安装和使用Composer

    使用Composer将程序包作为依赖项安装在项目中过程通常包括以下步骤: 确定应用程序需要哪种库 在Packagist.org上研究一个合适开源库,Packagist.org是Composer官方存储库...选择您要依赖运行composer require以在composer.json文件中包含依赖项并安装程序包 我们将通过一个简单演示应用程序,看它是如何工作。...此应用程序目标是将给定句子转换为slug,这是一个URL友好字符串。 这用于将页面标题转换为URL路径(如本教程URL最后部分)。 让我们从为项目创建目录开始。...vendor/目录是项目依赖项所在位置。vendor/文件夹不应提交到版本控制; 你只需要包含composer.json和composer.lock文件。...使用nano您喜欢文本编辑器,创建一个test.php,我们使用cocur/slugify库脚本。 $ nano test.php <?php require __DIR__ .

    1.6K20

    又要头秃?2020年七大AI编程语言大盘点

    一次编写,到处运行。 Java被认为是世界上最好编程语言之一,过去20年大伙使用证明了这一点。...它对Java支持不像其他完全支持语言那样功能丰富,但它已经存在,并且正在以很快速度得到改进。 Deep Java Library 由Amazon构建,使用Java来创建和部署深度学习能力。...Goals(目标)定义了根据知识库确定报表提交位置。 Queries(查询)定义如何使你声明真实,以及如何对事实和规则进行最终分析。...即使它们确实发生了,大多数非语法错误都是在编译阶段,而不是运行时捕获。...Julia源代码目录结构 Julia提供下列特性,使其在人工智能编程、机器学习、统计和数据建模中成为一个不可或缺选项: 动态类型系统 内置包管理器 能够进行并行和分布式计算 宏和元编程能力 支持多个调度

    1.7K20

    MySQL数据库层优化基本概念

    使系统快速运行最重要因素是其基本设计。您还必须知道系统正在执行哪种处理以及其瓶颈是什么。在大多数情况下,系统瓶颈来自以下来源: 磁盘搜索。磁盘查找数据需要花费时间。...即,它们具有导致不同行为不同设计折衷。 为了使复杂应用程序具有可移植性,您需要确定它必须使用哪些SQL服务器,然后确定这些服务器支持哪些功能。...要运行基准测试,请构建MySQL,然后将位置更改为sql-bench目录并执行run-all-tests脚本: shell> cd sql-bench shell> perl run-all-tests...crash-me尝试通过实际运行查询来确定数据库系统支持功能以及其功能和局限性。...有关基准测试结果更多信息,请访问此。 使用自己基准 您绝对应该对应用程序和数据库进行基准测试,以找出瓶颈所在。在解决了一个瓶颈之后(通过将其替换为“虚拟”模块),您可以继续确定下一个瓶颈。

    1.4K20

    高薪AI工程师都在用什么编程语言?2020 年七大 AI 编程语言大盘点

    Java 一次编写,到处运行。 Java被认为是世界上最好编程语言之一,过去20年大伙使用证明了这一点。...它对Java支持不像其他完全支持语言那样功能丰富,但它已经存在,并且正在以很快速度得到改进。 Deep Java Library 由Amazon构建,使用Java来创建和部署深度学习能力。...Goals(目标)定义了根据知识库确定报表提交位置。 Queries(查询)定义如何使你声明真实,以及如何对事实和规则进行最终分析。...即使它们确实发生了,大多数非语法错误都是在编译阶段,而不是运行时捕获。...Julia源代码目录结构 Julia提供下列特性,使其在人工智能编程、机器学习、统计和数据建模中成为一个不可或缺选项: 动态类型系统 内置包管理器 能够进行并行和分布式计算 宏和元编程能力 支持多个调度

    1.8K20

    【翻译】请停止编写 shell 脚本

    ,您经常会发现自己正在编写 shell 脚本。...PATH是如何找到可执行文件位置。 #!...因此,如果您正在编写一些打包启动脚本,那么很容易使用您知道会出现工具。 问题是,如果你正在打包一个 Python 应用程序,你几乎可以保证开发环境、CI 和运行时环境都安装了 Python。...我见过几乎每个复杂 shell 脚本都缺少 set -euo pipefail 调用,而且事后添加它非常困难(通常是不可能)。 我不确定我是否见过针对 shell 脚本自动化测试。...它会解决一些问题……但不是全部: 如果你运行​​shellcheck​​,它会指出问题所在​​export​​ 如果您运行​​shellcheck -o all​​它会运行所有检查,它也会指出​​echo

    2.3K21

    tomcat里面的文件详细说明

    1、安装Tomcat     使用WinZipWinRAR等解压缩工具将jakarta-tomcat-5.5.7.zip解压到指定驱动器和目录中。...表5-1 Tomcat目录结构及其用途 目 录 用 途 /bin 存放启动和关闭 Tomcat 脚本文件 /common/lib 存放 Tomcat 服务器及所有 Web 应用程序都可以访问 JAR...2 运行Tomcat 在Tomcat安装目录bin子目录中,有一些批处理文件(以.bat作为后缀名文件),其中startup.bat就是启动Tomcat脚本文件,用鼠标双击这个文件,将会看到如图...那么JAVA_HOME环境变量 值应该是什么呢?很容易就能想到应该是JDK所在目录,在笔者机器上,JDK所在目录是D:/Java/jdk1.5.0_01。...在“变量名”中输入“JAVA_HOME”,在变量值中输入JDK所在目录“D:/Java/jdk1.5.0_01”,然后单击“确定”按钮,如图5-7所示。

    1.3K100

    15个node.js经典面试题和答案,核心基础

    1.png 目录 1、什么是JavaScript中一等函数 ? 2、Node.js 如何工作 ? 3、Node.js 比其他最流行框架好在哪里 ?...Node.js 是一个使用 JavaScript 作为其脚本语言并运行 Chrome V8 JavaScript 引擎虚拟机。...7、你是如何管理 Node.js 项目中包 ? 它可以由许多软件包安装程序及其相应配置文件进行管理。 其中大多使用 npm yarn。...在 node 中,它用于创建一个新 v8 引擎实例来运行多个 worker 来执行代码。 11、module.exports 用途是什么 ? 这用于公开要在项目其他地方使用特定模块文件功能。...carbon.png 对于上面的示例,我们正在传递回调函数,它使代码不可读且不可维护。 因此我们应该更改异步逻辑以避免这种情况。 14、Node.JS 中事件循环是什么 ?

    1.8K20
    领券