Azzera filtri
Azzera filtri

Refer to field of a struct using input variable

1 visualizzazione (ultimi 30 giorni)

Hello everyone,

Is there a way in matlab to refer to a field of a struct or (any variable) using an input variable ?

Consider I have to functions: Main and Change_Color; and there is a variable app.LampVS.Color that I want to set its value using Change_Color, is there a way to refer to LampVS using a handle for example :

  • Please not that the variable app can be accessed by both functions
 function main(app)
            Change_Lamp(app,'LampVS','green');
 end
 function Change_Lamp(app,Lamp,Color)
            switch Color
                case 'red'
                    Color_Matrix = [1.00 0.00 0.00];
                case 'green'
                    Color_Matrix = [0.04 1.00 0.04];
                case 'orange'
                    Color_Matrix = [1.00 0.65 0.00];
            end
            app. *(@Lamp)?*.Color = Color_Matrix;
   end

Risposta accettata

Walter Roberson
Walter Roberson il 19 Apr 2018
app.(Color).Color = Color_Matrix;
  2 Commenti
Guillaume
Guillaume il 19 Apr 2018
This should of course read
app.(Lamp).Color = Color_Matrix;
Ali Ghader
Ali Ghader il 19 Apr 2018
OMG! XD I searched for half an hour about that and all it needed were two parentheses. Thanks a lot

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Migrate GUIDE Apps in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by