Wanneer je de broncode , zoals MATLAB analyse routines te implementeren , te anticiperen op alle mogelijke scenario's gebruiken om een robuuste toepassing te garanderen . Robuuste code controleert altijd input van de gebruiker om ervoor te zorgen dat goed werkt met uw code . MATLAB implementeert een " inputParser " object dat een sterke controle van de vereiste en optionele ingangen om uw aangepaste functies versnelt . Uitvoering Input parseren Om compatibile met " inputParser , " uw MATLAB functie omvat ingangen van drie verschillende types : verplichte , facultatieve en parameters . In de aangifte functie moet worden geformatteerd om vereiste input van naam , gevolgd door een variabele optionele ingangen en parameters bevatten omvatten . Deze variabele wordt vaak " varargin , " of een soortgelijke term , staat voor " variabele argumenten inch" In MATLAB , " varargin " is een cel scala aan optionele argumenten naar de functie . bijvoorbeeld, in " myFunction.m " : [ output1 , output2 ] = function myFunction ( req_input1 , req_input2 , varargin ) parser = inputParser ; ... parser.parse ( req_input1 , req_input2 , varargin { : } ) ; % van uw aangepaste codeend controleren voor Verplichte ingangen Vereist ingangen moet een bepaalde waarde hebben , terwijl optionele ingangen kunnen worden ingesteld op een standaardwaarde . Voeg de gewenste ingangen aan uw inputParser met behulp van de " addRequired ( ) " methode van de inputParser klasse , samen met het controleren op geldige waarden . Vereiste en optionele ingangen moeten worden toegevoegd in de volgorde waarin ze in de functie aanroep Bijvoorbeeld : . Parser.addRequired ( ' req_input1 ' , @ ischar ) ; % ingang 1 moet een stringvalidInputs = { ' apple ' ' oranje ' ' druiven ' ' pineapple ' } ; parser.addRequired ( ' req_input2 ' , @ ( x ) alle ( strcmp ( x , validInputs ) ) ) ; Voeg optionele ingangen met behulp van de " addOptional ( ) " methode . Standaardwaarden toevoegen als een extra argument . Bijvoorbeeld : parser.addOptional ( ' opt_input1 ' , 35 , @ isnumeric ) op ; Parameters tegenstelling vereiste en optionele ingangen , parameters zijn gekoppeld door een parameter naam en waarde in de functie aanroep . Kan bijvoorbeeld code om een beeld te verwerken parameters voor breedte en hoogte , in de functie aanroep als bevatten : myImageFunction ( ... , 'height' , 256 , 'width' , 128 ) ; < br > De volgorde van de parameters doet er niet toe , maar ze moeten worden toegevoegd nadat alle vereiste en optionele ingangen . Parameters worden toegevoegd aan de inputParser met de methode " ) addParamValue ( " parser.addParamValue ( ' paramName ' , default_value , validator_code ) ; . Valideren Invoerwaarden < br > Naast eenvoudige validators zoals " @ ischar " en " @ isnumeric , " complexe validators controleren passende reeksen van ingangen of andere attributen . myValidator = @ ( x ) isnumeric ( x ) && @ ( x ) isa ( x , 'dubbele' ) && ( x > 100 | | X < -100 ) ; De myValidator variabele biedt een middel om na te gaan welk type variabele wordt doorgegeven , inclusief numeriek , opgemaakt als een tweepersoonsbed , en een van beide groter dan 100 of minder dan -100 .
|