Cant index into a constant Property of a class

조회 수: 1 (최근 30일)
Tyler Wright
Tyler Wright 2021년 12월 8일
댓글: Tyler Wright 2022년 1월 28일
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
Prince Kumar
Prince Kumar 2022년 1월 28일
Hi,
Can you please share the script if possible?
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