Discussion modèle:Max

Dernier commentaire : il y a 13 ans par Od1n dans le sujet Bug à partir de 14 nombres comparés
Autres discussions [liste]
  • Admissibilité
  • Neutralité
  • Droit d'auteur
  • Article de qualité
  • Bon article
  • Lumière sur
  • À faire
  • Archives
  • Commons

Suppression des espaces modifier

Il faut supprimer les espaces : code actuel

{{#expr:
 {{#ifexpr:
   ({{{1}}}) > ({{{2}}})
   | {{{1}}}
   | {{{2}}}
 }}
}}

je propose :

{{#ifexpr: {{{1}}} > {{{2}}}|{{{1}}}|{{{2}}}}}

Voir discussion du modèle Min :

cela crée un pb avec les expressions du type {{max|100|200}}px qui donnait 200 px au lieu de 200px sans espace et qui provoque des erreurs dans le code des images par exemple

[[Image:truc.png|{{max|100|200}}px]] 

sera mal interprété ; 200 px étant pris comme légende de l'image et l'image est affichée en pleine largeur

M.B. (d) 27 avril 2008 à 16:03 (CEST)Répondre

Je n'arrive pas à reproduire le problème : même avec des sauts de ligne et des espaces tout partout que possible dans le code, ainsi que dans l'appel du modèle, je ne me retrouve avec aucun espace inséré dans le résultat. Le fonctionnement de MediaWiki a peut-être changé entretemps ? od†n [dead words] 26 octobre 2010 à 17:58 (CEST)Répondre

Bug à partir de 14 nombres comparés modifier

Bonjour, pour le Modèle:Max, Il y a un bug qui pose problème. Lorsque l'on écrit ceci :

{{max|{{max|{{max|{{max|{{max|{{max|{{max|{{max|{{max|{{max|{{max|{{max|{{max|1|2}}|3}}|4}}|5}}|6}}|7}}|8}}|9}}|10}}|11}}|12}}|13}}|14}}

tout fonctionne. Par contre si l'on compare au delà de 14 nombres alors un message en rouge s'affiche et qui dit : « Erreur d’expression : opérateur < inattendu », comme par exemple avec le script suivant :

{{max|{{max|{{max|{{max|{{max|{{max|{{max|{{max|{{max|{{max|{{max|{{max|{{max|{{max|1|2}}|3}}|4}}|5}}|6}}|7}}|8}}|9}}|10}}|11}}|12}}|13}}|14}}|15}}

Quelqu'un ici saurait résoudre ce problème pour pouvoir comparer une 40 ène de nombre. amicalement--Wikialine (d) 17 septembre 2010 à 20:23 (CEST)Répondre

Je ne vois pas l'intérêt du #expr dans la source du modèle... Et en le retirant, on passe de 13 à 19 comparaisons possibles. Faudra discuter de ça avec d'autres modélistes. Amicalement, od†n [dead words] 21 octobre 2010 à 23:34 (CEST)Répondre
Déjà répondu à la question sur la guilde il y a quelques temps. On peut passer le nombre de récursions en log. — Arkanosis 22 octobre 2010 à 04:45 (CEST)Répondre
Lien vers le message auquel mon parrain fait allusion : Wikipédia:Questions techniques/semaine 37 2010#Modèle:Max   od†n [dead words] 22 octobre 2010 à 06:13 (CEST)Répondre
Merci, ce n'était pas facile sur un téléphone mobile  Arkanosis 22 octobre 2010 à 14:48 (CEST)Répondre
Il n'en demeure pas moins que le modèle aurait peut-être besoin d'être modifié. Il y a déjà cette question de l'utilité du #expr. D'autre part, ce modèle étant inclus dans d'autres modèles, on pourrait lui ajouter le support d'un seul paramètre (retourne ce paramètre) et même de zéro paramètre (retourne rien). Enfin, je vois que la version anglaise encadre les valeurs à comparer avec des parenthèses, je me demande si cela sert à quelque chose ? Cdlt, od†n [dead words] 24 octobre 2010 à 18:15 (CEST)Répondre
Le #expr est là pour que {{max|2+1|2}} te donne « 3 » et non « 2 + 1 »  .
C'est vrai qu'il me paraitrait plus logique de découpler l'évaluation de l'expression de la recherche du maximum (il faudrait faire max(expr(x, y)) en gros… mais le modèle est utilisé partout donc c'est trop tard pour changer les specs.
On devrait effectivement mettre des parenthèses comme nos collègues anglophones, afin que {{max|2>1|1>2}} renvoie 1 et non 0 comme c'est le cas actuellement.
Pour le support de 0, 1 (et 3, 4…) paramètres, pourquoi pas, c'est une bonne idée…  Arkanosis 25 octobre 2010 à 11:37 (CEST)Répondre
J'ai implémenté le support jusqu'à 4 paramètres. Il serait même possible d'en ajouter des supplémentaires, mais au vu de la complexité du code qui croît de façon exponentielle, je ne pense pas que ça soit judicieux. J'ai aussi ajouté les parenthèses pour encadrer les expressions à comparer. Par contre, j'ai finalement opté pour laisser le modèle produire des erreurs, comme avant, s'il est utilisé avec 0 ou 1 paramètre ; peut-être que des contributeurs se servent de cela comme d'une fonctionnalité. od†n [dead words] 2 novembre 2010 à 23:28 (CET)Répondre
Revenir à la page « Max ».