2016-07-16 10 views
0

Ich mag Eingabeargument zu einer Oktave Funktion als Zellenfeld:Octave Eingabeargumente als Zellenfeld zu funktionieren

function x = myfunc(a_string, an_int) 
    printf("a string: %s\n", a_string); 
    printf("an int: %d\n", an_int); 
end 

myfunc("a", 1); 
b = {"a", 1}; 
myfunc(b); % should do the same thing as myfunc("a", 1) 

Gibt es eine Möglichkeit, dies leicht zu tun?

Antwort

1

Sie müssen die {:} Indexierung verwenden, um den Inhalt des Zellen-Arrays in mehrere Eingaben für Ihre Funktion zu erweitern. Die {:} Indizierung erstellt eine durch Kommas getrennte Liste, die sich genau wie mehrere Eingaben verhält.

myfunc(b{:})