Je viens vous partager une petite découverte, même si c'est pas exceptionnel pour certin, pour moi ça a été la révélation
Euh oui...en PHP on a l'habitude de coder comme des bourrins des fois et on se sert souvent de "isset()" pour savoir si une variable existe ou non, sauf que manque de peau, hehe, cette fonction précieuse n'existe pas sur TI Nspire CAS. Du moins jusqu'à aujourd'hui
Ca me turlupinait le cerveau depuis assez longtemps cette histoire de "ClrErr" et de "PassErr", j'ai donc ouvert le manuel et je suis tombé sur le nez ! La fonction Try...Else...EndTry évite de renvoyer tout de suite comme un crétin une popup que tout le monde aime "Erreur Syntaxe" ou bien "Erreur de Dimension". Elle traite le bloc du Else si elle rencontre des problèmes dans le bloc du Try :
Try:Disp "Ti BANK c'est de la m*** !!":Else:Disp"Levak est beau":EndTry
Malheureusement, la fonction à pas l'air d'être tout à fait au point
En même temps la pauvre, elle avait pas trop le choix
Le isset() pour vous servir:
Dans une librairie déjà crée ou dans un classeur même, taper ceci :
Méthode artisanale :
- Code: Select all
define isset(arg)=func:if gettype(#arg)(!=)"NONE" then:return true:else:return false:endif:endfunc
Méthode Try :
- Code: Select all
define isset(arg)=func:Try:arg:=arg:else:return false:endtry:return true:endfunc
Un chouaille plus court et en plus plus pratique !
@+ !
edit: Euh meuurde... il semble y avoir un problème avec try dans une fonction, il n'est pas fait pour les fonctions mais pour les progs, raah les vaches !!
Bon bah la méthode artisanale reste la meilleures
edit 2 : Bon pour pas clore le topic tout de suite, j'ai trouvé une autre utilisation, dans les boucles:
Méthode bourrin :
- Code: Select all
m:=[1 2 3]
for i,1,5
m:=colaugment(m,[i i+1 i+2])
endfor
for i, 1, 7 (vous voyez la merde là non ? xD)
y:=m[i,2]
endfor
Vous voyez donc que la deuxième boucle renverra une grossière erreur vous indiquant que vous avez essayé de prendre le processeur de la calculette pour un crétin. Pour satisfaire les deux voilà comment faire
Méthode SEMI-bourrin :
- Code: Select all
m:=[1 2 3]
for i,1,5
m:=colaugment(m,[i i+1 i+2])
endfor
for i, 1, 7
Try
y:=m[i,2]
Else
Disp "Tu me prends pour un boeuf ?"
EndTry
endfor
Voilà qui est mieux !