首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以将matlab设置为在运行之前验证可访问的函数

是否可以将matlab设置为在运行之前验证可访问的函数
EN

Stack Overflow用户
提问于 2014-02-04 21:12:59
回答 4查看 164关注 0票数 4

背景

我习惯了强类型的、编译的语言,所以我习惯了拼写错误会被当做未声明的变量来处理。

然而,由于Matlab是一种弱类型语言,这不会自动发生,我的开发周期倾向于:

代码语言:javascript
复制
write function(s)
|
˅
Run  <-------------------------
|                             |
˅                             |
Crash due to misspelling/typo |
|                             |
˅                             |
Correct typo -----------------|

在遇到输入错误之前,运行过程可能会运行几分钟,这会大大减慢我的开发周期。

我使用的是matlab版本2007b

问题

有没有办法验证一个函数,以便在不运行整个程序的情况下使用不存在的变量等?考虑到每个函数都有自己的变量空间,这似乎是可能的。

我知道可以使用depfun获得依赖项列表,但是我还没有找到任何方法来验证这些函数。

例如,以下函数将始终失败,但在运行之前不会产生警告

代码语言:javascript
复制
function [biggest]=getBiggest(variableName1, variableName2)
    if variablename1>variableName2, %<---misspelling!
        biggest=variableName1;
    else
        biggest=variableName2;
    end
end
EN

回答 4

Stack Overflow用户

发布于 2014-02-04 21:24:21

我怀疑您正在使用不同的编辑器,或者您更改了警告首选项。

在转到home > preferences > code analyzer时,请确保您启用了包含以下内容的版本:

无法确定是否...是变量或函数

票数 3
EN

Stack Overflow用户

发布于 2014-02-04 21:18:33

MATLAB Linter通常会提取赋值前使用的变量(例如,因为它是一个打字错误),但它并不完美。它在图形用户界面中默认启用(至少在R2011b中),但也可以在MATLAB之外运行:http://www.mathworks.com/help/matlab/ref/mlint.html

票数 1
EN

Stack Overflow用户

发布于 2014-02-04 21:16:07

Code Analyzer应该能捕捉到大多数这样的东西。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21553530

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档