0
Lire à partir de StringMorph, comment écrire du code pour faire des maths.Smalltalk Pharo
contents := InputField contents asNumber
Comment pourrais-je puis ajouter une fonction mathématique à ce - (1,8 + 32) pour modifier le numéro de la chaîne?
J'ai du mal à trouver des exemples en ligne.
Si je Vous avez bien compris, vous devez lire une chaîne brute (_1.8 + 32_) en utilisant le message 'contents'. Ensuite, vous devez l'analyser et extraire les nombres et les opérations, puis implémenter la logique derrière le calcul. – Uko
Je l'ai lu plus simplement comme "comment faire de l'arithmétique dans Smalltalk?" ... ce serait tout simplement 'result: = contents - (1.8 + 32)'. Pour revenir au champ de saisie, vous utiliserez probablement le setter 'InputField contents: result asString'. – JayK
Si vous souhaitez simplement utiliser les opérations mathématiques de base, vous pouvez utiliser le compilateur pour évaluer le contenu du champ InputField. 1.8 + 32 est une expression Smalltalk valide. Ce n'est pas une très bonne idée, car les erreurs sur l'analyse iraient à l'utilisateur, qui ne pouvait pas comprendre ce qui se passe. Aussi un gros problème de sécurité. –