Cant index into a constant Property of a class

1 次查看(过去 30 天)
I am trying to index into a string array, that is stored into the property of a constants class i created. When i get to the line of code (below) where the call is made, it returns the entire array. But when i insert that line of code into the command window, it runs just fine.
if Data.isCellOpen(Constants.CellNames(1), index)

回答(1 个)

Prince Kumar
Prince Kumar 2022-1-21
Hi,
You can index into string array just like normal indexing. Please look at the code below for reference:
classdef NamedConst
properties (Constant)
R = pi/180
D = 1/NamedConst.R
AccCode = '0145968740001110202NPQ'
str = ["Mercury" "Gemini" "Apollo";
"Skylab" "Skylab B" "ISS"]
end
end
Now you can use the class name NamedConst to access the property and index it.
disp(NamedConst.str(1))
This "disp" function gives Mercury as output.
For more information please refer the the documentation : Defining Class Properties with Constant Values
Hope this helps!
  3 个评论
Tyler Wright
Tyler Wright 2022-1-28
For the script for your code, i have the class made and the script has 1 line of code and it is the disp(...) code you wrote.
If you run this below as a script, it never will index into "NamedConst.str", unless you save it into an intermediate array (testArr) below
disp(NamedConst.str(1))
testArr = NamedConst.str;
for i = 1:numel(NamedConst.str)
% disp(NamedConst.str(i))
Temp = NamedConst.str(i)
Temp2 = testArr(1)
end

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

产品


版本

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by