步骤

这里拿你制作并且使用一个程序包lost为例子

新建一个空白.wl文档,输入代码如下

BeginPackage[ "MyPkg`"]

  MainFunction::usage =
"MainFunction[ x] computes a simple function." Begin[ "Private`"] MainFunction[ x_] :=
Module[ {y},
y = x^2;
y + 1
] End[] EndPackage[]

把.wl文件另存为lost.wl,随便放哪里

然后新建个nb文档,

如果你保存位置在某个$Path之下,输入 <<lost.wl 就能导入

如果你是随便存放的,举个例子,你应该 <<"C:/dir1/dir2/lost.wl" 导入

?MyPkg`* 来看此程序包内有哪些函数

之后 MainFunction[10] 来测试是否导入

Tips

<< 是Get的语法糖

$Path 给出在试图找到一个外部文件时搜索的缺省目录列表

$Path 这样的叫做环境变量,这么写也行 Environment["Path"].当然你Linux玩的溜的话你绝对会选择第一种写法

下面这些我还没有弄懂:

$Context 是一个给出当前上下文的全局变量.

$Packages 给出与您当前 Wolfram 系统会话中加载的所有软件包相应的上下文列表.

$ContextPath 是一个全局变量,它提供在 $Context 之前待搜索的上下文列表以试图找到已经输入的符号.

Needs,Get,这些地方乱得很,还有.m,.wl,.wls

分得清当然更好,本篇文章对您一点帮助也没有。

参考

Mathematica 程序包 package,这篇博客对我帮助很大

官方文档,对我没什么帮助老实说

Mathematica制作和使用程序包的更多相关文章

  1. C# 批处理制作静默安装程序包

    使用批处理+WinRAR制作静默安装程序包 @echo 安装完窗口会自动关闭!!! @echo off start /wait Lync.exe /Install /Silent start /wai ...

  2. Linux程序包管理之rpm

    rpm简介 rpm( Red Hat Package Manager )是一个开放的软件包管理系统.它工作于Red Hat Linux及其他Linux系统,成为Linux中公认的软件包管理标准. rp ...

  3. 如何在windows中编写R程序包(转载)

    网上有不少R包的编译过程介绍,挑选了一篇比较详细的,做了稍许修改后转载至此,与大家分享 如何在windows中编写R程序包 created by helixcn modified by binaryf ...

  4. 制作Linux下程序安装包——使用脚本打包bin、run等安装包

    制作简单的安装包的时候可以简单的用cat命令连接两个文件,然后头部是脚本文件,执行的时候把下面的文件分解出来就行了.一般这个后部分的文件是个压缩 包,那样,就能够打包很多文件了,在脚本中解压出来即可. ...

  5. Wix打包系列 (六)制作升级和补丁包

    原文:Wix打包系列 (六)制作升级和补丁包 前面我们已经知道怎么制作一个完整安装包了,但我们的软件往往不能一次性就满足客户的需要,当客户需要我们给软件进行升级的时候,我们应该怎么做呢? 在这之前,我 ...

  6. 程序包管理rpm、yum与简单编译安装程序

    Linux程序包管理 Linux中软件的安装主要有两种形式:一种是直接下载源代码包自行编译后安装,另一种直接获取rpm软件包进行安装. 程序的组成部分: 二进制程序:程序的主体文件,比如我们运行一个l ...

  7. Linux程序包管理rpm与yum

    Linux程序包管理 Linux中软件的安装主要有两种形式:一种是直接下载源代码包自行编译后安装,另一种直接获取rpm软件包进行安装. 程序的组成部分: 二进制程序:程序的主体文件,比如我们运行一个l ...

  8. Linux:Day10 程序包管理

    YUM:yellow dog,Yellowdog Update Modifier yum repository:yum repo 存储了众多rpm包,以及包的相关的无数据文件(放置于特定目录下:rep ...

  9. 想拥有自己的Python程序包,你只需15步

    来源商业新知网,原标题:15步,你就能拥有自己的Python程序包 全文共 3192 字,预计学习时长 6 分钟 每个软件开发员和数据科学家都难免要做程序包.本文推荐一篇 Python开源程序包的制作 ...

  10. Linux:Day9(下) 程序包管理

    API:Application Programming Interface POSIX:Portable OS 程序源代码 --> 预处理 --> 编译 --> 汇编 --> ...

随机推荐

  1. 数据驱动DDT(Data-Driven Tests):测试数据的参数化

    准备第三方库: 首先安装ddt库,其次在脚本中引入ddt 打开官网 https://pypi.org/project/ddt/ from ddt import ddt,data,unpack @ddt ...

  2. Flash、EEPROM、SRAM的区别与理解

    Flash.EEPROM.SRAM的区别与理解1. Flash.EEPROM.SRAM的区别(1) Flash存储器Flash适用于速度要求高.容量要求大.掉电时要求数据不丢失的场合. (2) EEP ...

  3. ansiable学习

    ansiable是用来做什么的? Ansible是一个配置管理和配置工具,是运维开发人员的批操作利器. ansiable是怎样实现高效的? 在一台机器上配置好模板,通过ssh在其他机器上按照模板执行. ...

  4. 关于Centos7防火墙、端口、进程、开机自启、服务启动的常用命令

    一.防火墙相关命令 1.查看防火墙状态 : systemctl status firewalld.service 注:active是绿的running表示防火墙开启 2.关闭防火墙 :systemct ...

  5. APP性能测试——首次启动耗时测试

    首次启动耗时: 即第一次安装(清除数据也可以),打开软件,直到进入到首页activity页面,并计算耗时. 示例代码: import os import time # 测试首次启动时间 # 创建App ...

  6. JavaScript数据类型以及转换

    一.数据类型 分类 基本(值)类型: String Number Boolean undefined unll 对象(引用)类型: Object:任意对象 Array:一种特别的对象 Function ...

  7. bquote

    在Linux环境下,按"·"(1左边的按钮)会进入bquote模式 退出方法 按 Ctrl + C 其它(待补充)

  8. HashMap长度为什么是2的幂

    虽然hash值很多,范围很大,但是内存存不了那么大的数组,所以取hash的散列值的时候,需要用hash值,除以数组长度取余数.又由于取余数(%)的性能不如与运算(&),所以想用与运算来代替取余 ...

  9. mysql 循环 例子

    mysql 循环生成数据demo: DROP PROCEDURE IF EXISTS test_insert; DELIMITER;; CREATE PROCEDURE test_insert() B ...

  10. Vue系列---【自定义vue组件发布npm仓库】

    自定义vue组件发布npm仓库 参考链接:自定义vue组件发布npm仓库