How to make function assign variables that will stick around after the function is done running?

 Réponse acceptée

Have it return the structure ‘car’ as an output:
function car = test(x)
car.color = x;
end
%
car = test('red')
produces:
car =
color: 'red'

8 commentaires

but "car" doesn't exist anymore after the function has ran :( i want it to still be stored somewhere in the memory
i guess car = test('red') works ... i think <.<
edit: nope, running another function like
function car = test(x)
car.make = x;
end
%
car = test('mazda')
removed color and just leaves "make"
I need to be able to apply functions to the same structure to pile on attributes
Try this:
car = struct('make',[],'model',[],'color',[],'year',[]);
%
function y = test1(x)
car(1).color = x;
y = car;
end
%
function y = test2(x)
car(1).make = x;
y = car;
end
%
y = test1('red');
y = test2('Mazda');
%
car
produces:
car =
make: 'Mazda'
model: []
color: 'red'
year: []
errrr, no, still doesn't assign anything for some reason :<
make: []
model: []
color: []
year: []
It did for me. Did you copy-paste-run the code I posted? (I’m running R2015a, but it should run on all recent releases.)
Post the code you’re running if it’s different from what I posted.
Run my code in a single script file. You may be inadvertently clearing the structure by running it in the Command Window.
ah, i see, that worked! Thank you :]

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Graphics Performance dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by