Définitions de fonction
En Wolfram Language, les définitions de fonction sont simplement des affectations qui fournissent des règles de transformation pour les motifs.
Remarques pour les programmeurs Java :
Contrairement aux méthodes du langage Java orienté objet, les fonctions de Wolfram Language ne sont pas limitées à une hiérarchie de classes.
Définissez une fonction de deux arguments nommés x et y :
Remarques pour les programmeurs Java :
Dans les définitions de base de la fonction de Wolfram Language, les noms des paramètres sont suivis par _ (« blank »). Contrairement aux méthodes de Java, les fonctions de Wolfram Language acceptent tous types de données par défaut.
Remarques pour les programmeurs Python :
Dans les définitions de base des fonctions de Wolfram Language, les noms des paramètres sont suivis par _ (« blank »), ce qui permet aux paramètres de correspondre à des motifs symboliques arbitraires. Cela permet de définir des fonctions puissantes et flexibles qui ne sont pas possibles par défaut en Python. Vous pouvez définir des fonctions basées sur Wolfram Language pour les utiliser dans Python en utilisant session.function à partir de la bibliothèque de clients Wolfram pour Python.
Utilisez la définition :
Supprimez la définition :
Les fonctions peuvent être définies en spécifiant leurs valeurs dans une séquence de cas :
Tout cas indéfini est laissé non transformé :
Vous pouvez utiliser /; pour restreindre une définition afin qu'elle ne s'applique que lorsqu'une condition particulière est remplie :
Remarques pour les programmeurs Java :
L'utilisation de /; en Wolfram Language est comme une condition if raccourcie.
Remarques pour les programmeurs Python :
L'utilisation de /; en Wolfram Language est comme une condition if qui peut être appliquée à une fonction, permettant à une fonction de choisir de manière flexible une définition basée sur une condition.
Vous pouvez définir des transformations pour n'importe quel côté à gauche, ce qui représente une méthode pratique pour « déstructurer » les arguments :
Wolfram Language ne possède pas de types proprement dits. Tout est expression symbolique. La « tête » d'une expression peut être utilisée comme une forme générale de désignateur de type généralisé.
Donnez des définitions différentes de ce que « f » doit faire lorsqu'elle s'applique à un objet « u » ou à un objet « v » :
Remarques pour les programmeurs Java :
Cela est similaire à la surcharge d'une méthode Java pour différents types de données, sauf que les fonctions de Wolfram Language peuvent être surchargées de manière plus générale, en fonction de la structure symbolique de leurs arguments.
Remarques pour les programmeurs Python :
Une fonction Wolfram Language peut utiliser un filtrage par motif intégré pour modifier son comportement en fonction de la structure symbolique de l'un de ses arguments. Réaliser cela en Python nécessiterait un code personnalisé assez élaboré ou des bibliothèques tierces.
RÉFÉRENCE RAPIDE : Définition de variables et fonctions