Maple Professionel
Maple Académique
Maple Edition Étudiant
Maple Personal Edition
Maple Player
Maple Player for iPad
MapleSim Professionel
MapleSim Académique
Maple T.A. - Suite d'examens de classement
Maple T.A. MAA Placement Test Suite
Möbius - Didacticiels de mathématiques en ligne
Machine Design / Industrial Automation
Aéronautique
Ingénierie des véhicules
Robotics
Energie
System Simulation and Analysis
Model development for HIL
Modélisation du procédé pour la conception de systèmes de contrôle
Robotics/Motion Control/Mechatronics
Other Application Areas
Enseignement des mathématiques
Enseignement de l’ingénierie
Enseignement secondaire et supérieur (CPGE, BTS)
Tests et évaluations
Etudiants
Modélisation financière
Recherche opérationnelle
Calcul haute performance
Physique
Webinaires en direct
Webinaires enregistrés
Agenda des évènements
Forum MaplePrimes
Blog Maplesoft
Membres Maplesoft
Maple Ambassador Program
MapleCloud
Livres blancs techniques
Bulletin électronique
Livres Maple
Math Matters
Portail des applications
Galerie de modèles MapleSim
Cas d'Etudes Utilisateur
Exploring Engineering Fundamentals
Concepts d’enseignement avec Maple
Centre d’accueil utilisateur Maplesoft
Centre de ressources pour enseignants
Centre d’assistance aux étudiants
typematch - type based pattern matching
Calling Sequence
typematch(e, t)
typematch(e, t, 's')
Parameters
e
-
any expression
t
any type, possibly augmented by :: operators
s
(optional) a name
Description
The typematch command is a boolean valued function. It returns true if the input expression e matches the type t. Normally the type t will contain pattern bindings, that is, expressions of the form where v_i is a variable For example in the command typematch(e,v::name=range), the purpose of the v variable is to bind v with the corresponding name in the expression e . The typematch command has two different ways of returning the bound values, which are as follows.
In command typematch(e, t), all pattern variables v_i in t are assigned the values as they are successfully matched. Thus the result of typematch(x=1..infinity, v::name=range) is true and v is assigned the name x.
In command typematch(e, t, 's') if the match is successful, a list of equations of the form is assigned the parameter s which represents the variables and their matched values. Thus the result of typematch(x=1..infinity, v::name=range, 's') is true and s is assigned the list .
Note that the arguments to the pattern binding operator :: are evaluated. Thus if the variable x may have been assigned a value, for example, in a previous typematch command, then it is necessary to use quotes. That is typematch(e,'x'::name=range).
For more information about the precedence of the pattern binding "::" operator in relation to other operators, see operators/precedence.
Thread Safety
The typematch command is thread safe as of Maple 15, provided that s, if used, is not shared between threads.
For more information on thread safety, see index/threadsafe.
Examples
See Also
match, patmatch, select, type
Download Help Document