Lorsque vous déployez le code source, tels que MATLAB routines d'analyse , d'anticiper tous les scénarios d'utilisation possibles pour assurer une application robuste . Code robuste vérifie toujours l'entrée d'utilisateur pour s'assurer qu'il fonctionne correctement avec votre code. MATLAB implémente un objet " inputParser " qui accélère fort contrôle des entrées obligatoires et facultatives à vos fonctions personnalisées. La mise en œuvre Parsing entrée
Pour être compatibile avec " inputParser , " votre fonction MATLAB comprend les entrées de trois types différents : obligatoire, optionnel et paramètres. Votre déclaration de fonction doit être formaté pour inclure les intrants nécessaires par leur nom , suivi d'une seule variable pour contenir les entrées et les paramètres optionnels. Cette variable est souvent appelé « varargin » ou un terme équivalent , pour " arguments variables po" dans MATLAB , " varargin " est un réseau de cellules d' arguments facultatifs envoyés à la fonction.
< P > Par exemple, dans " myFunction.m ": [ output1 , output2 ] = function myFunction ( req_input1 , req_input2 , varargin ) parser = inputParser ; ... parser.parse ( req_input1 , req_input2 , varargin {:} ) ; % votre coutume codeend
Vérification pour intrants nécessaires
intrants nécessaires ont besoin d'avoir une certaine valeur tandis que les entrées optionnelles peuvent être réglées sur une valeur par défaut. Ajouter intrants nécessaires à votre inputParser en utilisant la méthode " addRequired ()" de la classe inputParser avec la vérification des valeurs valides. Entrées obligatoires et facultatives doivent être ajoutés dans l'ordre où ils apparaissent dans l'appel de fonction
Par exemple : . Parser.addRequired (' req_input1 ', @ Ischar ) ; % entrée 1 doit être un stringvalidInputs = { 'pomme' 'orange' ' le ananas de raisins }; parser.addRequired (' req_input2 ', @ ( x ) toute ( strcmp (x, validInputs ))) ;
Ajoutez entrées en option en utilisant le " addOptional () « procédé . Ajouter les valeurs par défaut comme un argument supplémentaire. Par exemple:
parser.addOptional (' opt_input1 ', 35 , @ isnumeric ) ;
Paramètres
Contrairement entrées obligatoires et facultatives , les paramètres sont jumelés par un nom de paramètre et la valeur dans l'appel de fonction . Par exemple , le code pour traiter une image peut contenir des paramètres de largeur et de hauteur , inclus dans l'appel de fonction comme :
myImageFunction (..., 'height' , 256, 'width' , 128) ; < br >
L'ordre des paramètres n'a pas d'importance , mais elles doivent être ajoutées après toutes les entrées obligatoires et facultatives . Les paramètres sont ajoutés à la inputParser en utilisant la méthode " ) addParamValue ( "
parser.addParamValue (' ParamName », default_value , validator_code ) .
Validation des valeurs d'entrée < br > Photos
En plus de validateurs simples tels que " @ Ischar " et " @ isnumeric , " validateurs complexes vérifier plages appropriées d'intrants ou d'autres attributs .
myValidator = @ (x) isnumeric (x) && @ (x) iSA ( x , 'double' ) && ( x > 100