Instructions de commutation et de gammes de nombres
Comment pensez-vous de l'artisanat de l'instruction switch en as3 pour faire le cas s'appliquer à toute une gamme de nombres?
if (mcPaddle.visible == true)
{
switch (score)
{
case 10://10 to 100
myColor.color = 0x111111;
break;
case 110://110 to 1000
//etc etc
break;
}
}
J'ai essayé plusieurs façons de faire de la cause s'appliquent pour tous les nombres entre 10 à 100, et 110-1000, mais n'arrive pas à trouver un moyen de le faire, et je ne peux pas trouver la syntaxe correcte pour une telle chose en as3.
OriginalL'auteur Cap'nAhab | 2011-04-30
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser un bloc de commutateurs :
Ce code est sale, je vais rester avec si/elses.
Il pourrait avoir l'air sale, mais à ma grande surprise, ce commutateur de code de plage en réalité surpasse la si-sinon chaînes. J'ai testé 1 million de nombres aléatoires allant dans dix de taille égale plages et le commutateur constamment atteint 15% de meilleures performances!
maintenant que c'est une bonne raison de l'utiliser. upvote pour les tests de performances
OriginalL'auteur OXMO456
les instructions switch juste retraitements de
if (a = b) or (a = c) or (a = d) ...
type de constructions. Ils ne sont pas destinés pour des gammes. Vous pouvez un peu de simuler à l'aide de fallthroughs:mais c'est totalement stupide de chemin à faire. Beaucoup plus facile/terser à utiliser régulièrement
if()
OriginalL'auteur Marc B
ActionScript de l'instruction switch ne fonctionne pas avec les gammes, mais vous pouvez facilement le faire avec des if/else chaînes:
Ils n'ont pas vraiment besoin d'être imbriquées, vous pouvez la chaîne d'eux. Si vous ne mettez pas de quatre espaces de décalage après chaque niveau, si/d'autre blocs de rester très lisible.
vous vous trompez, voir ma réponse
OriginalL'auteur alxx
Pour ceux à la recherche de comment utiliser ce en HTML/jQuery, j'ai utilisé @OXMO456 de répondre à créer cette simple stylo: http://codepen.io/anon/pen/jHFoB
Vous avez juste à définir la
var
normalement et supprimer les lignes commençant partrace
.Ps. Je suis en ajoutant ce qu'une réponse étant donné que je n'ai pas assez de rep de commentaires sur son. Si quelqu'un peut, s'il vous plaît déplacer/copier ce. Merci!
OriginalL'auteur Wraithers