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

从本地项目目录中的任意位置导入

在 Idris 中,导入模块的方式与其他编程语言类似,但有一些特定的规则和注意事项。通常,Idris 使用相对路径和模块名来导入文件。如果你想从本地项目目录中的任意位置导入模块,可以使用以下方法:

目录结构示例

假设你的项目目录结构如下:

代码语言:javascript
复制
my_project/
├── src/
│   ├── Main.idr
│   └── Utils/
│       └── Helper.idr
└── idris_opts

在这个示例中,我们希望在 Main.idr 中导入 Helper.idr

设置 Idris 选项文件

首先,创建一个 idris_opts 文件,用于指定 Idris 的编译选项。这个文件可以放在项目的根目录中,并包含如下内容:

代码语言:javascript
复制
--ibcsubdir build
--idrispath src
  • --ibcsubdir build:指定编译生成的 .ibc 文件存放的目录。
  • --idrispath src:指定 Idris 搜索模块的路径。

导入模块

Main.idr 中,你可以使用模块名来导入 Helper.idr。模块名通常与文件路径对应,但使用点(.)来分隔目录。

src/Main.idr

代码语言:javascript
复制
module Main

import Utils.Helper

main : IO ()
main = do
  putStrLn "Hello, Idris!"
  putStrLn (helperFunction)

src/Utils/Helper.idr

代码语言:javascript
复制
module Utils.Helper

helperFunction : String
helperFunction = "This is a helper function."

编译和运行

在项目根目录下运行以下命令来编译和运行 Idris 项目:

代码语言:javascript
复制
idris --build idris_opts
idris --exec main src/Main.idr

解释

  1. 目录结构:确保你的项目目录结构清晰,并且模块文件放在合适的位置。
  2. Idris 选项文件:使用 idris_opts 文件来指定 Idris 的编译选项,包括模块搜索路径。
  3. 模块导入:在 Idris 文件中使用 import 语句导入其他模块,模块名与文件路径对应,但使用点(.)来分隔目录。
  4. 编译和运行:使用 Idris 命令行工具编译和运行项目。

总结

通过设置 Idris 选项文件并使用正确的模块名,你可以从本地项目目录中的任意位置导入模块。这种方法确保了项目的模块化和可维护性,同时使得导入模块变得简单和直观。

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

相关·内容

  • maven配置本地仓库位置_在setting中配置自己的仓库

    在MAVE_HOME/conf/settings.xml文件中配置本地仓库位置: eclipse与maven配置 指定maven安装目录 User Setting配置 在eclipse...中配置使用的maven的setting.xml文件,使用maven安装目录下的setting.xml文件。...注意:如果修改了 setting.xml文件需要点击上图中的“update settings”按钮对本地仓库重建索引,点击“Reindex”。...eclipse浏览仓库 maven配置完成需要测试在eclipse中是否可以浏览maven的本地仓库,如果可以正常浏览maven本地仓库则说明eclipse集成maven已经完成。...打开eclipse仓库视图,对插件和jar包建立索引 找到Local respository本地仓库项,点击Rebuild index重建索引 重建索引完成点击前边的“+”图标即可查看本地仓库的内容

    3.1K20

    python项目导入上级目录设置”的setting.json是不是哪里还有错误呀?

    一、前言 前几天在Python白银交流群【王者级混子】问了一个Python代码处理的问题,问题如下:大佬们,我想问问我抄网上“vscode运行python项目导入上级目录设置”的setting.json...还是没法导入上级目录 二、实现过程 这里后来很快他自己找到了解决办法,如下所示: 顺利地解决了自己的问题。 如果你也有类似这种Python相关的小问题,欢迎随时来交流群学习交流哦,有问必答!...这篇文章主要盘点了一个Python运行环境的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。...最后感谢粉丝【王者级混子】提出的问题,感谢【王者级混子】给出的思路,感谢【莫生气】等人参与学习交流。

    11810

    上传本地项目到Docker运行的GitLab容器中

    @example为你要用哪个用户上传就写哪个用户的邮箱地址,本人用的root)生成密钥文件,命令敲完以后默认回车即可,如图 找到密钥生成的位置,此处为C:/Users/Administrator/.ssh.../id_rsa.pub,并将内容复制到gitlab上,按照以下步骤找到gitlab上配置ssh-key的地方 然后在命令行中依次执行如下命令             1 cd test           ...#进入到要上传的项目的文件夹中             2 git init            #初始化此目录,使git可以管理这个文件夹             3 git config --global...”/”项目名称” #后面的那些在gitlab上面新建项目的时候就会指定,并且可以看到             6 git add .     ...push –u origin master #将当前目录下的分支推送到主分支 5、为了保持安全性,再次登录到运行的容器gitlab上将那一行删掉,并且重启容器             1 docker

    1.4K10

    Maven 如何将本地的项目发布到 Archiva 中

    很多时候,我们可能并不希望将我们的构建代码发布到公共的 Maven 仓库中。 为了一些私有的项目发布到公司内部的 Archiva 中,如何使用 Maven 进行发布。 ---- 这个其实比较简单。...一个具有发布权限的 Maven 仓库 在 settings.xml 中配置你可以访问这个仓库的用户名和密码 配置你的 pom.xml 文件。...具体来说,针对一个条件,具有发布权限的 maven 仓库,最简单的办法你可以部署一个本地的 archiva。...例如我们使用的仓库地址为 https://maven.ossez.com/,这是一个我们测试和发布私有仓库的地址。当然,你也可以使用其他的服务器或者商用服务。...在 settings.xml 中配置 server, 在这里你需要配置 id 和用户名和密码。 这里你需要使用发布 archiva 的真实用户名和密码。 修改项目的 pom.xml 文件。

    2.1K00

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

    问: 如何从Bash脚本本身中获得其所在的目录? 我想使用Bash脚本作为另一个应用程序的启动器。我想把工作目录改为Bash脚本所在的目录,以便我可以对该目录下的文件进行操作,像这样: $ ....但是在以相对路径的方式去执行脚本时,获取的目录信息是相对路径,不能满足其他需要获取绝对路径的场景。 如果要获取绝对路径,可以使用如下方法: #!...$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd) echo $script_dir 其中第3行代码,无论从何处调用它,都将为你提供脚本的完整目录路径...测试结果如下: 另外,可以根据第一种方法结合使用 realpath 命令,也可获取脚本所在目录的绝对路径: #!.../(点-斜杠),以便在bash中运行它 shell脚本对编码和行尾符敏感吗

    34920

    Ubuntu运行GitHub获取的Django项目准备工作从GitHub克隆项目安装数据库(要设置密码)搭建python环境修改项目配置文件将测试数据库导入到本地新建的数据库中运行项目

    经常在github看到一些优秀的Django项目,但Django的运行需要大量的依赖,这里分享一下,从github获取Django项目,并在本地运行项目的小经验......准备工作 安装虚拟机: ubuntu16.04 实验仓库地址: https://github.com/zhaoolee/NewAvatar 从GitHub克隆项目 git clone git://github.com...python="/usr/bin/python3" # 进入虚拟环境(可跳过) workon dj_py3 # 安装依赖包 sudo apt-get install python3-dev # 进入刚下载的本地仓库...更改登录数据库的密码 将测试数据库导入到本地新建的数据库中 mysql -uroot -pzhaoolee fangyuanxiaozhan 的数据表 运行项目 python manage.py runserver ?

    3.5K30

    springBoot导入本地jar并且要求通过maven打包到项目的jar中|Unable to open nested jar file BOOT-INFlibxxxxxx.jar

    今天做项目的时候,需要用到第三方写的jar包,我们知道,maven项目是在pom.xml文件中,引入jar包的maven地址,这样是可以直接import的,eg ...这个是因为你直接拖进去的时候,和package打包的时候,两者的压缩算法是不一样的,这个我就先不截图了。...解决方法: 我们可以在项目的src/main/resource文件夹下,新建一个 lib目录,然后把第三方的jar直接放进来,这样你本地代码IDE中调用第三方jar包靓丽的方法的时候,应该是不会报错了。...然后在pom.xml中,按照下面的方式引入 apollo 中的BOOT-INF\lib 中 自动引入第三方的jar啦。

    4.4K20

    详解Python项目开发时自定义模块中对象的导入和使用

    背景:1)任何一个Python程序文件既可以直接执行,也可以作为模块导入再使用其中的对象;2)对于大型系统开发,一般不会把所有代码放到单个文件中,而是根据功能将其分类并分散多个模块中,在编写小型项目时最好也能养成这样的好习惯...本文介绍Python自定义模块中对象的导入和使用。...假设当前工作目录为C:\Python36,创建一个子目录child,然后在其中创建一个Python程序文件add.py,其中的代码为: def add(x, y): return x+y 这时,文件夹结构如图所示...add,这是因为child文件夹被认为是一个包,而add.py是包中的子模块,并没有随着child一起导入。...继续执行下面的代码: >>> import child.add >>> child.add.add(3,5) 8 自定义模块中的对象成功被导入并能够正常使用,也就是说,如果要使用的对象在子模块中,应该单独使用

    3K50

    Angular 项目中导入 styles 文件到 Component 中的一些技巧

    h1 { color: $brand-color; } 复制代码 上面代码里出现的层级结构操作符,../, 意思是当前目录的父目录,这种写法可读性不好,且容易出错。...如果您的项目是使用 Angular CLI 生成的,您可以在 .angular.cli.json 文件中添加配置 stylePreprocessorOptions > includePaths。...此配置允许开发人员添加将检查导入的额外基本路径。 它告诉 Angular CLI 在处理每个组件样式文件之前,在上述路径中查找样式文件。 例如,在我们的例子中,让我们在路径中添加 ..../stylings/ h1 { color: $brand-color; } 复制代码 如果我们有两个同名的 global style 文件,但是位于不同的目录下,则又该如何配置?...虽然 stylings2 文件夹里包含的 variables.scss 文件里,确实定义了变量 $font-size-large,但无法被项目正确解析到。

    1K20

    Git在Idea中的配置(本地项目上传到码云或者Github)

    三、从码云上新建一个项目 点击新建仓库,输入项目名称(仓库名称),点击创建就可以了。 点开自己的刚刚创建的仓库,若显示如下这样,则网站端配置结束。剩下的交给IDEA。...四、讲远端仓库和本地Idea项目关联 (1)在本地创建一个和远端仓库完全相同的项目名称!!...(2)Idea关联本地已经下载好的Git程序 点击旁边的TEST,若成功配置,则显示如图。 (3)在本地项目启动git 上面一栏找到VCS,选择第一个。...五、从本地提交代码到远端 只需要把自己写好的java文件,点击右上角的√ (中间那个) 在左边勾选需要上传的文件(一般都是JAVA文件) 注释好本次提交干了什么事情。...这样,代码就上传到了码云咱们的远端仓库之中了。 总结 以上就是今天要讲的内容,本文介绍了Git再IDEA中的配置,以及如何把本地文件上传到码云(GutHub是一样的操作),希望对大家有所帮助。

    1.1K20

    如何将eclipse中开发的maven管理的web项目导入到idea开发工具中

    选择要导入的项目,如下所示: ? 我这里选择从eclipse中导入的,如下所示: ? 然后选择下一步,如下所示 : ? 然后选择下一步,如下所示 : ? 然后选择finish,如下所示 : ?...报了一个导入 jdk失败的,等会配置一下jdk环境即可,如下所示: ? 这里选择作为一个maven项目,如下所示: ? 2、开始做一些idea的配置,其实我并不喜欢用idea,哦 my god。 ?...看下Artifacts,打成war包的形式,如下所示: ? 3、开始配置tomcat服务器,如下所示: ? 选择tomcat服务器,本地运行,如下所示: ?...这里牵扯到一个eclipse和idea项目部署tomcat的一个路径问题,如果不知道的,很容易搞懵逼,eclipse一般默认后面都带了项目的名称,但是idea需要自己配置一下,这里先配置不带项目名称的,...访问项目,如下所示: ? 这里,需要特别说明一下,如果你的项目的mybatis的映射文件是在src/main下面的,需要在pom.xml配置一下,如下所示: ? ?

    1.4K20

    【SpringBoot】四种读取 Spring Boot 项目中 jar 包中的 resources 目录下的文件

    前言 在SpringBoot应用中,经常需要读取打包在jar包中的资源文件,比如配置文件、模板文件等。...这些资源文件通常放在src/main/resources目录下,在打包成jar包后,它们会被存储在jar包的根目录下。本文将介绍4种在SpringBoot中读取这些资源文件的方法。...部署后,项目是通过打成 jar 包运行的,里面的文件是没有实际路径的(只有相对于项目名的相对路径)。...classpath 路径(即:src 或 resources 路径下)下查找文件的,但它的路径前需要加 “/” ,这个是跟读取的文件与当前.class 文件的位置有关。...,包括从jar包中的资源文件中读取。

    4.7K10
    领券