调用函数的路径或名称空间?

12个视图(30天)
泰德•舒尔茨
泰德•舒尔茨 2019年8月29日
我有一个包给我,有一些功能,具有相同的名称作为建在MATLAB函数,阻止我调用内置的函数。我可以想象一个类似的情况我有几个包具有相同名称的功能。有一些方法可以调用一个函数的路径(或指定哪个函数我希望),或指定一个名称空间?我确实发现 这类似的问题 ,建议的解决方案是重命名功能,但在逻辑上,可以包我不控制困难。

接受的答案

每•艾萨克森
每•艾萨克森 2019年9月4日
编辑:每•艾萨克森 2019年9月4日
这是一个很好的问题。这两个Matlab博客
涉及这个话题。如果没有其他他们认为,有一个真正的问题,缺乏一个好的和简单的解决方案。
你写 “包” ,但这个词已经由Matlab,明白了 包创建名称空间
“重命名功能,但在逻辑上,可以包我不控制困难” 事实上,当一个新版本的包出现……
我有一个建议,在某些情况下是可行的
  • 这个包有一个简单的文件夹结构;没有太多的嵌套的子文件夹
  • 名称冲突是由普通的函数;而不是类或包文件夹
  • 包装应永久Matlab搜索路径
移动功能,导致碰撞新的或现有的私人文件夹。类似的
stat_package
代码
+ package_folder
私人
私人
的意思是
总和
可能有必要将一个函数的副本导致碰撞在多个私人文件夹。
1评论
泰德•舒尔茨
泰德•舒尔茨 2019年9月4日
编辑:泰德•舒尔茨 2019年9月4日
模块 似乎是解决我的问题。谢谢你的这些信息!
——泰德

登录置评。

更多的答案(2)

吉姆·里格斯
吉姆·里格斯 2019年9月3日
编辑:吉姆·里格斯 2019年9月3日
一个方法是创建一个单独的文件夹(即不是Matlab路径)为您的项目。
当你将Matlab工作目录设置为这个文件夹,Matlab应该先搜索这个文件夹,在别的Matlab路径之前,它首先会发现局部定义的函数。
另一种方法是管理Matlab搜索路径通过添加文件夹,其中包含这些功能来搜索路径的开始。Matlab将首先找到他们。
第二种方法需要你un-do路径分配当你运行其他项目,所以你必须要小心。您可以使用安装脚本管理路径的变化。
1评论
泰德•舒尔茨
泰德•舒尔茨 2019年9月4日
编辑:泰德•舒尔茨 2019年9月4日
谢谢你的回复。我抵抗只是修改路径,因为我希望能够运行两个功能相同的程序。文件交换项目” 模块 “似乎让我打电话。

登录置评。


史蒂文的主
史蒂文的主 2019年9月4日
我有一个包给我,有一些功能,具有相同的名称作为建在MATLAB函数
我很好奇为什么作者的包/工具箱/集合文件跟踪内置MATLAB函数(或函数实现MATLAB代码的MATLAB安装的一部分)。其他人提出解决此问题的方法,但在我看来,这种痛苦的根源的阴影和对策是包的作者可以重命名这些功能。
如果这是不可能的,被跟踪的功能真的是内置(不仅仅是MATLAB提供的代码文件MathWorks MATLAB安装的一部分) 内装式 功能可能被使用。但我还是强烈建议作者停止跟踪内置函数。
1评论
泰德•舒尔茨
泰德•舒尔茨 2019年9月4日
这发生在我过去当我旧代码,功能比内置的函数,或者当我已经被人给代码没有一样的包。

登录置评。

类别

找到更多的在输入命令帮助中心文件交换

下载188bet金宝搏


释放

R2019a

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!