Reading the required variables for a function
Ältere Kommentare anzeigen
Is there a function that will read the number and names of variables needed to run a function. I'm working on a brute force solution now that just opens the function as a text file and searches for the function declaration then reads the strings between the parenthesis.
2 Kommentare
Azzi Abdelmalek
am 5 Nov. 2013
Do you want the number of variables or their names?
Adam
am 5 Nov. 2013
Antworten (3)
Azzi Abdelmalek
am 5 Nov. 2013
Bearbeitet: Azzi Abdelmalek
am 5 Nov. 2013
fid = fopen('file.m');
line=''
while isempty(line)
line=fgetl(fid)
end
fclose(fid);
v=regexp(line,'(?<=\().+(?=\))','match')
n=strfind(v{1},',') % number of variables
%If you want their names
w=regexp(v{1},',','split')
6 Kommentare
Adam
am 5 Nov. 2013
Azzi Abdelmalek
am 5 Nov. 2013
Bearbeitet: Azzi Abdelmalek
am 5 Nov. 2013
the test while isempty(line) checks if the first lines are empty
Walter Roberson
am 5 Nov. 2013
Bearbeitet: Walter Roberson
am 5 Nov. 2013
Remember comment lines, and comments more generally.
Watch out for continuation lines.
Azzi Abdelmalek
am 5 Nov. 2013
For comment we can add a test
if line(1)=='%'
line=''
end
Walter Roberson
am 5 Nov. 2013
Comments can start anywhere on a line. Also, blanks are permitted on lines.
line = regexprep(line, {'%.*', '^s+'}, {'', ''});
Azzi Abdelmalek
am 5 Nov. 2013
The first character of line is always different from ' '
Image Analyst
am 5 Nov. 2013
0 Stimmen
Maybe take a look at this: http://www.mathworks.com/matlabcentral/fileexchange/17291-fdep-a-pedestrian-function-dependencies-finder
Kategorien
Mehr zu Variables finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!