Party: amusez vous avec part()
Posted: 07 Mar 2014, 17:42
C'est bien connu, part() est une fonction fort étrange... j'ai donc essayé de la rendre un peu plus humaine avec la bibliothèque party.
Les anciens le savent, quand je publie un truc en basic, c'est pas pour le basic (soit c'est pour des couleurs totalement improbable sur la page de présentation, soit il y a du C caché dedans ou du lua magique...). Cette fois, je vous promet qu'il n'y a ni C, ni lua. Juste du basic.
Voici donc les deux fonctions que fournit party:
party(expr): renvoie une liste avec en premier le séparateur (qui vous serait donné par part(expr,0)), puis toutes les parties stringifiées (je suis obligé de les stringifier, car les listes de matrices ne sont pas appréciées par la nspire).
Ainsi, {part(x+y+z,0),part(x+y+z,1),part(x+y+z,2)}={"+",z,x+y}, et party(x+y+z)={"+","x","y","z"}.
Pour dire les choses simplement, party(expr) essaye de renvoyer l'expression explosée selon le premier séparateur.
party_time(expr): c'est bien connu, parfois, part(expr)=0. Dans ce cas, part(expr,0) n'est pas le séparateur, mais le tout stringifié. party_time(expr) vous revoie donc soit le séparateur s'il existe, soit undef si part(expr)=0.
Limites:
-les capacités de part
-le programme est récursif, ne dépassez pas les capacités de récursion de la Nspire (malheureusement très limitées)
-je suis tombé sur deux bugs de la Nspire pendant la conception (qui en plus dépendent de l'OS...). Je n'ai fait tourner ma batterie de tests que sous l'OS 3.1. J'espère donc que ça marchera bien sur les autres
Je vous encourage donc à tester et à réussir à trouver un bug dans mon programme .
Si vous pensez qu'il manque des fonctions dans cette lib, proposez ce que vous aimeriez y voir figurer.
Tutoriel: (à suivre absolument)
-télécharger le fichier en pièce jointe
-le mettre dans le dossier Mylib
-rafraîchir les bibliothèques
-utiliser un classeur/un programme (ou, si vous avez vendu votre âme au diable, le scratchpad) pour appeler party\party(votre_expression) ou party\party_time(votre_expression)
Les anciens le savent, quand je publie un truc en basic, c'est pas pour le basic (soit c'est pour des couleurs totalement improbable sur la page de présentation, soit il y a du C caché dedans ou du lua magique...). Cette fois, je vous promet qu'il n'y a ni C, ni lua. Juste du basic.
Voici donc les deux fonctions que fournit party:
party(expr): renvoie une liste avec en premier le séparateur (qui vous serait donné par part(expr,0)), puis toutes les parties stringifiées (je suis obligé de les stringifier, car les listes de matrices ne sont pas appréciées par la nspire).
Ainsi, {part(x+y+z,0),part(x+y+z,1),part(x+y+z,2)}={"+",z,x+y}, et party(x+y+z)={"+","x","y","z"}.
Pour dire les choses simplement, party(expr) essaye de renvoyer l'expression explosée selon le premier séparateur.
party_time(expr): c'est bien connu, parfois, part(expr)=0. Dans ce cas, part(expr,0) n'est pas le séparateur, mais le tout stringifié. party_time(expr) vous revoie donc soit le séparateur s'il existe, soit undef si part(expr)=0.
Limites:
-les capacités de part
-le programme est récursif, ne dépassez pas les capacités de récursion de la Nspire (malheureusement très limitées)
-je suis tombé sur deux bugs de la Nspire pendant la conception (qui en plus dépendent de l'OS...). Je n'ai fait tourner ma batterie de tests que sous l'OS 3.1. J'espère donc que ça marchera bien sur les autres
Je vous encourage donc à tester et à réussir à trouver un bug dans mon programme .
Si vous pensez qu'il manque des fonctions dans cette lib, proposez ce que vous aimeriez y voir figurer.
Tutoriel: (à suivre absolument)
-télécharger le fichier en pièce jointe
-le mettre dans le dossier Mylib
-rafraîchir les bibliothèques
-utiliser un classeur/un programme (ou, si vous avez vendu votre âme au diable, le scratchpad) pour appeler party\party(votre_expression) ou party\party_time(votre_expression)