Command syntax for functions inside packages
2 views (last 30 days)
Show older comments
Duc Le
on 13 Jan 2022
Answered: Bala Tripura Bodapati
on 3 Feb 2022
Matlab has a "command syntax" where if you call a function without brackets the arguments are passed as character arrays to the called function, e.g.
help topic
is interpreted as
help('topic')
But this doesn't seem to work when the function is inside a +package folder - e.g. If I have
+mypack
|--myfunc.m
and I call
mypack.myfunc some arguments
This fails with:
mypack.myfunc some arguments
↑
Error: Invalid expression. Check for missing multiplication operator, missing or unbalanced delimiters, or other syntax error. To construct matrices, use brackets
instead of parentheses.
However, if I import the function it works fine, e.g.
import mypack.myfunc
myfunc some arguments
So the question is: Is command syntax supported for functions inside packages (without using import)? If so, how do I get it to work?
0 Comments
Accepted Answer
Bala Tripura Bodapati
on 3 Feb 2022
Hi Duc Le,
It is my understanding that command syntax is working fine when importing the package and then calling the function. But calling the function using the fully qualified signature is giving an error. Currently we are not supporting this feature.I have brought this issue to the notice of concerned people and it might be considered for future releases.
A possible workaround I would like to suggest is to make the package a normal folder and add it to the MATLAB path. With this approach, you can directly call the function using command syntax.
The following is the link to documentation of “addpath” to add the folder to the MATLAB path:
0 Comments
More Answers (0)
See Also
Categories
Find more on Get Started with MATLAB 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!