Page 1 sur 1

Un decouverte avec les Select grace au Switch de PHP ;)

Publié : jeu. 17/avr./2014 12:14
par GallyHC
Bonjour,

Je suppose que comme moi vous connaissez l'écriture de select comme ceci :

Code : Tout sélectionner

i= 40

Select i
  Case 10
    Debug "CASE 1"
  Case 20
    Debug "CASE 2"
  Case 30
    Debug "CASE 3"
  Case 40
    Debug "CASE 4"
  Case 50
    Debug "CASE 5"
EndSelect
Mais voila une version (on va dire "inverser" en écriture mais qui fonctionne) :

Code : Tout sélectionner

i = 100
j = 2
k = 20
l = 10

Select 1000
  Case i * j
    Debug "CASE 1"
  Case j * k
    Debug "CASE 2"
  Case k * l
    Debug "CASE 3"
  Case i * l
    Debug "CASE 4"
  Case j * l
    Debug "CASE 5"
EndSelect
Bon je suppose que pas mal connaisse cela, mais ou cas ou je partage, on sait jamais.

Cordialement,
GallyHC

Re: Un decouverte avec les Select grace au Switch de PHP ;)

Publié : jeu. 17/avr./2014 14:19
par graph100
Je ne pensais pas que cela fonctionnait, mais effectivement, c'est une expression !

En revanche, il me semblait que l'intérêt principal d'un Select est de ne calculer qu'une seule fois l'expression comparée, et ainsi d'accélérer les tests multiples.
Et dans le cas ou tu as plusieurs des tes expressions qui sont justes, uniquement la première est choisie, comme pour un If / ElseIf !

Re: Un decouverte avec les Select grace au Switch de PHP ;)

Publié : jeu. 17/avr./2014 18:21
par PAPIPP
Bonjour à tous
On peut même réaliser une sélection dans une boucle For.
Exemple :

Code : Tout sélectionner

Macro _q_t_
  "
EndMacro

Macro _n(__n)
  _q_t_#__n#=_q_t_+Str(__n)+" "
EndMacro
i = 100
j = 2
k = 20
l = 10
For w =0 To 1000 Step 10
Select w
  Case i * j ; =200
    Debug "CASE 1 "+_n(w)
  Case j * k ; =40
    Debug "CASE 2 "+_n(w)
  Case k * l ; =200
    Debug "CASE 3 "+_n(w)
  Case i * l ; =1000
    Debug "CASE 4 "+_n(w)
  Case j * l ; =20
    Debug "CASE 5 "+_n(w)+_n(i)+_n(j)+_n(K)+_n(l)
EndSelect
; Debug _n(w)
Next
A+

Re: Un decouverte avec les Select grace au Switch de PHP ;)

Publié : jeu. 17/avr./2014 18:56
par GallyHC
Bonjour,

graph100> Perso voyant dans un code Php cette méthode (a eu du mal a comprendre au départ d'ailleurs), je suis demander si PB réagissez de la même façon a cela. J'ai donc fait un code bidon utilisant cette méthode.

Apres si cela à une véritable utilité en PB la je ne sais pas mais c’est par exemple utiliser dans un code PHP pour testé suis le client est sur un téléphone ou pas

Cordialement,
GallyHC