Ich habe gerade entdeckt, dass beim Aufruf von Java aus Matlab
object.method(arg1,...,argn)
ist gleichbedeutend mit
method(object, arg1,...,argn)
Das Problem dabei ist, dass ich auch eine method.m
das eine Übersetzung von Java nach Matlab vornimmt (z. B. Konvertierung String[]
zur Zelle der Strings). Mein method.m
sieht aus wie
function result = method(object, arg1,...argn)
intermediate = object.method(arg1,...argn);
result = translate(intermediate);
Was passiert, ist, wenn ich method(object, arg1,...,argn)
wird ein direkter Java-Aufruf durchgeführt, anstatt dass ich meine method.m
Die Lösung ist einfach, verwenden Sie einfach nicht den gleichen Methodennamen für meine Java-Methoden und meine .m
Dateien. Aber gibt es einen anderen Weg? Wie kann ich wissen, welche Methode bei gleichem Namen aufgerufen wird? Gibt es eine Möglichkeit, sicherzustellen, dass ich method.m
anstelle der Java-Methode? Es ist einfach, einen Aufruf der Java-Methode sicherzustellen, verwenden Sie einfach die object.method
Syntax.
Nebenbei bemerkt, ist es auch dumm, dass die .m
Editor verweist auf die method.m
über die method(object, arg1,...,argn)
aufruft, während es beim Debuggen die Java-Methode aufruft.