Command syntax for functions inside packages

5 vues (au cours des 30 derniers jours)
Duc Le
Duc Le le 13 Jan 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?

Réponse acceptée

Bala Tripura Bodapati
Bala Tripura Bodapati le 3 Fév 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:

Plus de réponses (0)

Catégories

En savoir plus sur Search Path dans Help Center et File Exchange

Produits


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by