Accessing global variable from function
Show older comments
I have the following code:
function [ dirsOut, dirsPerTask ] = prepare( n )
global dirs;
numOfDirs = size(dirs,1);
dirsPerTask = round(numOfDirs/n);
end
dirs is defined as global:
EDU>> whos global
Name Size Bytes Class Attributes
dirs 2198x1 301616 struct global
status 0x0 0 double global
Got an error while calling function prepare:
EDU>> [o, n] = prepare(4)
Error in ==> prepare at 3 global dirs;
Probably I'm missing something ... Please assist.
2 Comments
Vishal Rane
on 29 Nov 2012
The error you have posted 'Error in ==> prepare at 3 global dirs;' seems incomplete.
Jan
on 30 Nov 2012
@Irene: Please post the complete error message.
Answers (2)
dpb
on 29 Nov 2012
0 votes
Remove the trailing ';' from the global statement--ML thinks dirs; should be a variable name but the semi-colon isn't valid character in a name
--
1 Comment
Walter Roberson
on 29 Nov 2012
I used to think that too, but I was wrong. It turns out that command/function duality ends lines at semi-colons.
dpb
on 29 Nov 2012
0 votes
Hmmm....I did a test first, why did it error? Oh, drat. I mistyped 'global' as 'globals' and didn't notice; just that it errored on the expected line. Mea culpa...
OK, so what is problem w/ the posted function?
Categories
Find more on File Operations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!