Cant index into a constant Property of a class

2 ビュー (過去 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 Center および File ExchangeMatrices and Arrays についてさらに検索

製品


リリース

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by