adr*_*ain 5 matlab matlab-class
我无法弄清楚如何使用其他方法来定义常量这样的简单事情.
例如,一个虚拟的例子:
classdef DummyClass < handle
properties (Constant)
NB_SECONDS_IN_MINUTE = 60;
NB_MINUTES_IN_HOUR = 60;
NB_SECONDS_IN_HOUR = NB_SECONDS_IN_MINUTE * NB_MINUTES_IN_HOUR;
end
end
Run Code Online (Sandbox Code Playgroud)
这不起作用:(
然后我尝试了这一行:
NB_SECONDS_IN_HOUR = DummyClass.NB_SECONDS_IN_MINUTE * DummyClass.NB_MINUTES_IN_HOUR;
Run Code Online (Sandbox Code Playgroud)
但那也不起作用......
有人在这里得到了一个线索?:/
(我正在使用MATLAB R2009a btw)
你肯定需要引用具有完整类名的常量,如第二种情况.是DummyClass
一个包(内+packagename
)目录?如果是这样,您需要使用完全限定名称,即
NB_SECONDS_IN_HOUR = packagename.DummyClass.NB_SECONDS_IN_MINUTE * packagename.DummyClass.NB_SECONDS_IN_HOUR;
Run Code Online (Sandbox Code Playgroud)
编辑:刚刚在R2009a测试了这个:
>> ver matlab
-------------------------------------------------------------------------------------
[...]
-------------------------------------------------------------------------------------
MATLAB Version 7.8 (R2009a)
>> type DummyClass
classdef DummyClass < handle
properties (Constant)
NB_SECONDS_IN_MINUTE = 60;
NB_MINUTES_IN_HOUR = 60;
NB_SECONDS_IN_HOUR = DummyClass.NB_SECONDS_IN_MINUTE * DummyClass.NB_MINUTES_IN_HOUR;
end
end
>> DummyClass.NB_SECONDS_IN_HOUR
ans =
3600
Run Code Online (Sandbox Code Playgroud)