"tatatatatatatatataaa !! tata taaa !! tata taaa !! tatatata tataaa !! tata taaa !! tata taaa !!"
Je viens de tomber dessus, et vous devinerez jamais où je l'ai trouvé !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 function widget($args, $instance) { die('function WP_Widget::widget() must be over-ridden in a sub-class.'); }
Euh a premiere vue ca me parrait pas choquant, c'est juste une astuce pour pallier au manque du mot clef abstract ou virtual non ?
MDR
Énorme les bouts de code java Oo
OMG, dire que ça existe ça Oo
Franchement *shocked*
Vu ce matin.
Accrochez-vous bien (les commentaires ont été rajouté par moi pour vous servir ):
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 SELECT @i = 1, @nb = COUNT(*) FROM t1 WHILE @i <= @nb BEGIN SELECT @a = a, @b = b, @c = c FROM t1 WHERE d IS NOT NULL AND e IS NOT NULL AND trait = 'N' IF @@ROWCOUNT = 0 -- Si aucun resultat BEGIN SELECT @a = a, @b = b, @c = c FROM t1 WHERE d IS NOT NULL AND trait = 'N' IF @@ROWCOUNT = 0 -- Si aucun resultat BEGIN SELECT @a = a, @b = b, @c = c FROM t1 WHERE e IS NOT NULL AND trait = 'N' END END -- Finalement peut importe la ligne choisie (on les traites toutes) -- on réalise le même traitement : IF @c IS NULL SELECT @c = 1 UPDATE t1 SET b = @b, c = @c, trait = 'O' WHERE a = @a -- <1> :On ecrase les valeurs nulles de b et c UPDATE t1 SET c = @c WHERE a = @a AND c IS NULL -- Impossible, c n'est plus NULL (cf <1>) IF EXISTS (SELECT * FROM t1 WHERE a = @a AND b IS NULL) -- Impossible b n'est plus NULL (cf <1>) BEGIN -- Un pavé assez conséquent ... END SELECT @i = @i + 1 -- Iteration END
Tout ça pour écrire :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 UPDATE t1 SET b = (/* un petit select */), c = ISNULL(c, 1)
Pourquoi faire simple quand on peut faire compliqué?
C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère
Installation de Code::Blocks sous Debian à partir de Nightly Builds
Je viens de le trouver :
Code Pascal : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 if MessageDlg('Une table de même nom existe déjà dans le thème ouvert, est-ce une mise à jour ?',mtConfirmation,[mbYes,mbNo],0)=mrYes then majConfirme:=true; if not majConfirme then CodageRue;
Je précise quand même que la variable majConfirme n'est pas utilisée plus loin dans le code.
Dans le même genre il y a longtemps, très longtemps, dans une entreprise lointaine, très lointaine:
Car ajouter un point d'exclamation et deux parenthèses pouvait changer le fonctionnement (ou ralentir le programme, je ne sais plus)
Code c : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 if(!A && !B) {} else { une_fonction(); }
Tiens, encore une autre :
Code c : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 if(A) { une_fonction(); } else if (!A) { une_autre_fonction(); } else { encore_une fonction(); }
Peut-être qu'évaluer ‘A’ cause des effets de bord et que le dernier bloc doit être exécuté si A vaut successivement faux puis vrai ?
Ou peut-être, comme c'est plus probable, le dernier bloc ne sert à rien
Moi je trouve ça très intelligent. Et oui! Le code est déjà prêt lorsque dans un futur proche, on se rendra compte que le boolean peut avoir une troisième valeur, qui n'est ni A ni non A. Ce codeur est un visionnaire.
THIS!IS!NOT!MY!COW!
CECI!N'EST!PAS!MA!VACHE!
(mais je persiste à dire que c'est moins classe en français )
en même temps c'est parfois justifié: http://www.boost.org/doc/libs/1_43_0...html#id1906921
Tu penses à quelque chose comme cela :
?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 if(A(p1)) { une_fonction(); } else if (!A(p2)) { une_autre_fonction(); } else { encore_une fonction(); }
J'avais conclu (peut-être un peu vite) que la formulation "une_fonction()", "une_autre_fonction()", etc. impliquait que "A" ne pouvait se référer qu'à une variable !
C'est sûr au premier abord ça parait un peu bizarre surtout hors contexte, mais les tribools ont leur utilité (je m'en sers actuellement pour un client)
Cela ressemble au CheckBox à 3 états.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 if(CheckBox) //case cochée else if (!CheckBox ) //case décochée else //case ni cochée ni décochée
" Dis ce que tu veux qui insulte mon honneur car mon silence sera la réponse au mesquin.
Je ne manque pas de réponse mais : il ne convient pas aux lions de répondre aux chiens ! " [Ash-Shafi'i ]
ça peut servir dans des cas d'automatisme ou de système embarqué, quand par exemple tu veux savoir si une porte automatique est ouverte ou fermée.
On peut imaginer que ouverte = true, fermé = false, et entre les deux (en train de s'ouvrir ou de se fermer) = indéterminé.
De manière plus générale cela interviens aussi dans les cas de logique floue et/ou de logique ternaire, ou ton système doit prendre des décisions en ayant à sa disposition des informations incomplètes ou incohérentes.
http://fr.wikipedia.org/wiki/Logique_floue
http://fr.wikipedia.org/wiki/Logique_ternaire
bazar: http://www.improetcompagnie.com/publ...ctacles-6.html
BÉPO la disposition de clavier francophone, ergonomique et libre: http://bepo.fr/wiki/Accueil
Emacs Wiki: http://www.emacswiki.org/
En attente de ce que produira: http://www.pushmid.com
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager