Sto lavorando su un semplice codice orientato agli oggetti in MATLAB. Sto cercando di chiamare uno dei miei metodi di classe senza argomenti di input o output nella sua definizione. DefinizionePerché ottengo un errore "Troppi argomenti di input" quando non ne passo?
Funzione:
function roll_dice
chiamata di funzione:
obj.roll_dice;
Quando questo viene eseguito, MATLAB dice:
??? Error using ==> roll_dice
Too many input arguments.
Error in ==> DiceSet>Diceset.Diceset at 11
obj.roll_dice;
(etc...)
Qualcuno ha qualche idea quello che potrebbe essere causando io t? Ci sono degli argomenti automatici segreti. Non sono consapevole che sto passando?
Ie, roll_dict viene chiamato come metodo su un oggetto quando non dovrebbe essere. Prova roll_dice() invece di obj.roll_dice(). –
Potrebbe funzionare, ma ha detto che roll_dice è un metodo di classe, quindi suppongo che sia destinato a funzionare su un determinato oggetto. – gnovice
Avevi ragione, ma ora ho un problema diverso. Vengo da lingue come Java e PHP, dove è abbastanza semplice usare le classi. Qual è l'equivalente di self.roll_dice o this.roll_dice? – farr