En tant que programmeurs, nous connaissons tous le dicton suivant: "Vous pouvez l’avoir vite et bien, mais ce ne sera pas bon marché, vous pourrez l’avoir bon ou bon marché, mais ce ne sera pas rapide, ou vous pourrez l’avoir vite et pas cher. , mais ce ne sera pas bon. "
Pour ce défi, vous implémentez un outil de configuration imaginaire pour vos services de programmation personnalisés. Vous devez rendre un ensemble de trois cases à cocher, avec un en-tête "SÉLECTIONNER LES DEUX":
SELECT ANY TWO
☐ FAST
☐ CHEAP
☐ GOOD
Une fois que deux éléments ont été sélectionnés, le troisième élément doit être désactivé. Lors de la désélection de l'un des deux éléments sélectionnés, toutes les options doivent à nouveau être activées. En d'autres termes, si zéro ou un élément est sélectionné, tous sont toujours activés, mais si deux éléments sont sélectionnés, le troisième doit être désactivé.
Pas de contrôles spéciaux autorisés. Les cases à cocher doivent être les cases à cocher standard dans la langue de votre choix. Par exemple, n'utilisez pas un contrôle "CheckBoxList", si votre langue en a un. J'imagine que la plupart des entrées seront HTML / jQuery, mais ce n'est pas une règle. C'est le code golf, à la recherche de l'entrée la plus courte.
GAGNANTS JUSQU'A PRÉS
Je vais le diviser en catégories. Il y a des gagnants clairs:
jQuery: nderscore, M. Tenacity Moins de 100b lorsque vous excluez le texte "ressources". Une mention honorable devrait également être adressée à Matt pour avoir présenté les concepts jQuery dont beaucoup se sont inspirés.
Dyalog APL: marinus, alias Mr. Unicode Comment tapez-vous toutes ces choses? Je peux voir pourquoi vous voudriez écrire des programmes courts.
PHP: SuperScript Je crois que c'est l'entrée la plus courte qui désactive plutôt que de désélectionner la troisième option, en suivant l'interprétation la plus stricte des règles.