papydall
Nombre de messages : 6996 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Appel à une fonction FNC définie par le programmeur Lun 25 Juin 2018 - 20:09 | |
| Salut tout le monde. @ Tous et principalement @Jack A l’instar d’une fonction native de Panoramic, une fonction définie par le programmeur à l’aide de FNC Nom_Fonction(…) retourne un résultat qui peut être utilisé dans une expression mathématique ou simplement affiché. Lors de l’appel de la fonction, le programme doit connaitre ce qu’il doit faire du résultat de la fonction, sinon il affiche une erreur. Si par exemple, on écrit - Code:
-
Print sin(pi/4)
Ou - Code:
-
X = 12 + sin(y)
Le programme sait quoi faire du résultat de la fonction. Par contre si on écrit - Code:
-
Sin(pi/4)
Le programme affiche une erreur Illegal Instruction. C’est correct et c’est ce qu’il doit en résulter. Pourquoi, alors Panoramic ne se comporte pas de façon identique quand il s’agit d’un appel d’une fonction définie par FNC ? Le code suivant montre ce que je viens d’expliquer difficilement. - Code:
-
rem ============================================================================ rem Appel de FNC rem ============================================================================ dim x print MulDiv(3,5,2) : ' Utilisation correcte de la fonction x = MulDiv(1,2,3) * sin(pi/4) : print x : ' Utilisation correcte de la fonction MulDiv(7,8,4) : ' <--- Normalement il doit y avoir ERREUR : Illegal Instruction ' Or Panoramic ne dit rien ! ' Qu'a-t-il fait du résultat de la fonction ? end rem ============================================================================ ' Fonction Retournant le produit de ses deux 1ers arguments divisé par son 3ème FNC MulDiv(a,b,c) result a*b/c END_FNC rem ============================================================================
Normalement on doit s'attendre à une erreur à la ligne 7, genre Illegal InstructionQu' en pensez-vous ? | |
|
Oscaribout
Nombre de messages : 471 Date d'inscription : 29/12/2016
| Sujet: Re: Appel à une fonction FNC définie par le programmeur Lun 25 Juin 2018 - 22:53 | |
| Il n'y a rien à rajouter. Comme le cas ICI, où je me suis fait avoir. J'ai mis une fonction au point dans un autre onglet. J'ai bien reporter la fonction là où elle était prévu, en omettant de modifier l'appel de celle-ci. Le résultat est que j'ai mal interprété l'erreur, et déclaré n'importe quoi, ce qui me semblait le plus logique (quoi que pour ce dernier point, la logique est discutable.) | |
|