1、在建立package的时候,直接复制。
package的代码似乎需要是一整块。还需要把代码类型设置为Initialization Cells。package格式不对会影响函数调用。
……你是不是在说这个?:
《写程序包的时候单元样式必须是Code》
https://tieba.baidu.com/p/27346948752、函数或者变量重名。推荐使用函数的全名,也就是带上下文的那种。不使用全名会遇到各种各样的问题,这是和mma的计算(搜索)顺序有关的。总之就是要关注上下文。
……你在用那堆并行函数的时候是不是忘了调DistributedContexts选项?这个选项的默认值是当前上下文。你要带程序包,要么把相应上下文加上,要么直接设All。
顺便,我个人的建议是,如果没搞清楚上下文,那就不要碰程序包。
绝对不要因为“这样显得比较专业”之类的无聊理由去使用程序包。如果是因为在服务器之类的地方没法用笔记本界面,那你大可以不写BeginPackage和Begin,这样代码就全在Global`下面了。
3、关于我这里的问题。
我这里的特殊情况是大佬的函数用ReadList调用了一个可执行文件,并且这个文件好像是拒绝并行的,我把大佬的问档复制了一份,两个进程调用两个不同的可执行文件,已经运行成功了,没有报错。
如果代码涉及文件读写,那么并行很可能占不了什么便宜,读写是个巨大的瓶颈。当然,需要具体问题具体分析。
最后,我重复11楼的话。