IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[défi n°6] Un peu de poésie que diable!


Sujet :

JavaScript

  1. #61
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Matthieu2000
    Citation Envoyé par Calak
    il ne faut pas oublier les règles..
    euh je savais pas qu'il faut un double décimètre pour faire du js.
    javscript est menstrué ???


    ben quoi Javatwister réclamait de la poésie non ?
    ok je
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  2. #62
    En attente de confirmation mail Avatar de fred777888999
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    250
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 250
    Points : 292
    Points
    292
    Par défaut
    Putain, ca raccourci pas le code de l'utiliser alors je refais pas le bout de prog, mais j'avoue que je connaissai pas cette balise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <bdo dir="rtl">lav ud ruemrod eL</bdo>
    Comme quoi on apprends tous les jours et a tout age, je me demande quand meme bien a quoi ca peut vraiment servir en pratique et l'interet d'avoir inclus cette daube dans les standards...

  3. #63
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    j'avais cherché du coté de rtl ... je l'attribuais directement à la balise html mais bdo ???
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #64
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    Revenons à la dernière solution acceptable:

    Citation Envoyé par Matthieu2000
    function R(c){
    v=c.getElementsByTagName('div');
    i=v.length;
    while(i){
    p=v[--i].firstChild;
    p.data=p.data.split('').reverse().join('');
    c.appendChild(v[i]);
    }
    }
    Là on nage en plein rêve!

    et au maximum, 256 caractères

  5. #65
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    a mon avis JT à mieux en reserve ... il nous cache quelquechose ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #66
    En attente de confirmation mail Avatar de fred777888999
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    250
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 250
    Points : 292
    Points
    292
    Par défaut
    Citation Envoyé par javatwister
    Revenons à la dernière solution acceptable:

    Citation Envoyé par Matthieu2000
    function R(c){
    v=c.getElementsByTagName('div');
    i=v.length;
    while(i){
    p=v[--i].firstChild;
    p.data=p.data.split('').reverse().join('');
    c.appendChild(v[i]);
    }
    }
    Là on nage en plein rêve!

    et au maximum, 256 caractères
    Tu exagere, tu change la regle du jeu en cours de partie
    Allez, je reprend ma boucle pour inverser la chaine, on est encore sous les 200 et plus de limites à la longueur de la chaine
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    function R(c){
    v=c.getElementsByTagName('div')
    i=v.length
    while(i){
    p=v[--i].firstChild
    q=p.data
    r="";
    for(j=0;j<q.length;j++) {r=q.charAt(j)+r}
    p.data=r;
    c.appendChild(v[i])
    }
    }
    La je crois que tu peux nous poster ta soluce parcequ'on fera sans doutes pas mieux, enfin, pour moi, c'est grillé

  7. #67
    En attente de confirmation mail Avatar de fred777888999
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    250
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 250
    Points : 292
    Points
    292
    Par défaut
    Aaaaargh, posté trop vite, on peut encore gagner qq chars (mais franchement, je parle pas de la lisibilité à l'arrivée, remarque, arrivé a ce niveau, c'est tres accessoire) dans la boucle for...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    function R(c){
        v=c.getElementsByTagName('div') 
        i=v.length 
        while(i--){ 
            r=''
            for(j=0;j<(q=(p=v[i].firstChild).data).length;r=q.charAt(j++)+r);
            p.data=r
            c.appendChild(v[i]) 
        }
    }
    Mais franchement, si qq me demande de debugger un truc pareil, la reponse sera 'va te faire....'
    Noter le ; tout a fait indispensable apres le for, à ne pas enlever de la longueur du code donc

  8. #68
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 47
    Points : 53
    Points
    53
    Par défaut
    Tant qu'a aller dans l'encapsulation...
    Au passage, j'ai revula boucle for, plus courte...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function R(c){
        i=(v=c.getElementsByTagName('div')).length
        while(i--){
            for(j=(q=(p=v[i].firstChild).data).length,r='';j--;r+=q.charAt(j));p.data=r
            c.appendChild(v[i])
        }
    }
    Mais:

    1// Tes encapsulaton te font perdre un char par encapsulation ( si dans le décompte on oublie des char blancs ( " ", "\n", "\r", "\t', etc )
    Donc vu qu'il a dit qu'il comptait pas les chars blancs, je change ça.
    2// L'optimisation forstChild=>lastChil est tjs valable, ce qui nous donne donc ( et en plus libile ):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function R(c){
    	v=c.getElementsByTagName('div')
    	i=v.length
    	while(i--){
    		p=v[i].lastChild
    		q=p.data
    	        for(j=q.length,r='';j--;r+=q.charAt(j));
    		p.data=r
    	        c.appendChild(v[i])
    	}
    }
    Au suivant :p

    Quoique.. je suis pas sur que le for soit une bonne idée.
    Si quelqu'un a un script pour compter les chars sous la main, comparez avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function R(c){
    	v=c.getElementsByTagName('div')
        i=v.length
        while(i--){
    		p=v[i].lastChild
    		q=p.data
    		j=q.length
    		r=''
            while(j--)r+=q.charAt(j)
    		p.data=r
            c.appendChild(v[i])
        }
    }

  9. #69
    En attente de confirmation mail Avatar de fred777888999
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    250
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 250
    Points : 292
    Points
    292
    Par défaut
    Oui, c'est vrai... Avec le ; facultatif, on s'en sort mieux sans encapsuler, et la boucle for fait gagner 2 chars en partant de la fin, mais du coup, de la fin, les 2; gagnes par le while font que ca a la meme longueur, mais on gagne le ; apres la boucle for, donc -1 char... [edit] Je viens de me relire, c'est presque aussi incompréhensible que le code[/edit]
    Quel bordel ceci dit... Tout ce qu'il ne faut pas faire en prog

  10. #70
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    attention Fred! je donnais juste la longueur du code de Matthieu! c'était pas une nouvelle contrainte

  11. #71
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    hum; vous avez testé vos derniers ... euh... aménagements, là?

  12. #72
    En attente de confirmation mail Avatar de fred777888999
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    250
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 250
    Points : 292
    Points
    292
    Par défaut
    Moi yop... ceux de Calak, saispo, mais ils me semblent ok... Pour le code commun, il fait moins de 156 cars tu voulais dire Ceci dit, j'aimerai bien ta soluce avant mon WE qui va commender (exceptionnelement) a 17h

  13. #73
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    bah, vous avez explosé les pronostics les gars; tu peux partir tranquille

  14. #74
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 47
    Points : 53
    Points
    53
    Par défaut
    Allez, au passage pour compter les chars, un petit script vite fait:
    http://calak.free.fr/tool/dacount.php

    les 3 codes de mon dernier message font respectivement 166, 162 et 160 char et ils marchent tous ( je poste pas sans tester hein )

    Par contre, vais essayer de mettre le split()... pour voir si ca change qqc :p

    [€dit]
    Voila, avec mon compteur et ce code, j'arrive à 144 char ^_^
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function R(c){
    	v=c.getElementsByTagName('div')
        i=v.length
        while(i--){
    		p=v[i].lastChild
    		p.data=p.data.split('').reverse().join('')
            c.appendChild(v[i])
        }
    }
    [Re€dit]
    Un point virgule à la poubelle, qui nous fait passer à 144

    ( attention, dans les 144 je ne compte pas les retours à la ligne obligatoires, donc on doit taper dans les 150 )

  15. #75
    En attente de confirmation mail Avatar de fred777888999
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    250
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 250
    Points : 292
    Points
    292
    Par défaut
    Citation Envoyé par javatwister
    bah, vous avez explosé les pronostics les gars; tu peux partir tranquille
    Un homage à un travail d'equipe qui fait plaisir à entendre


  16. #76
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    143 avec le même

  17. #77
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function R(c){
     
    v=c.getElementsByTagName('*')
    i=v.length
     
    while(i--){
     
       with(v[i].lastChild)
            data=data.split('').reverse().join('')
     
       c.appendChild(v[i])
    }
     
    }
    je vous rassure, c'est pas le with qui change les choses (25 / 25 )

  18. #78
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 47
    Points : 53
    Points
    53
    Par défaut
    pas con le ('*') ^^;

  19. #79
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    tiens, une très différente qui fait aussi 143

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function R(c){
    v=c.childNodes
    i=v.length
    while(i--){
    try{with(v[i].lastChild)
    data=data.split('').reverse().join('')}
    catch(e){}
    c.appendChild(v[i])
    }
    }
    je sais pas pourquoi, mais ça donne l'impression d'être facilement compressible

  20. #80
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 47
    Points : 53
    Points
    53
    Par défaut
    marchera pas sous FF ( pas testé là )

    car avec FF, dans childNode il y a 2 fois plus de 'cases' que de balises.

    t'auras un truc tupe '#text', 'DIV', '#text', etc...

    C'est ça qui m'avais posé le plus de probs lors de mon essais de code.

    D'où le passage par .GetElementsByTagName

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Inno setup, un peu plus loins que la faq
    Par enzo68290 dans le forum Outils
    Réponses: 8
    Dernier message: 07/02/2012, 17h47
  2. JSF et Tableau un peu plus complexe que la norme!
    Par magellan dans le forum JSF
    Réponses: 4
    Dernier message: 27/05/2011, 15h25
  3. Que pensez vous des défis ?
    Par ram-0000 dans le forum Défis C
    Réponses: 12
    Dernier message: 05/10/2009, 08h40
  4. Que faut-il pour commencer? (je suis un peu perdu)
    Par Fredczj dans le forum Débuter
    Réponses: 2
    Dernier message: 01/09/2008, 08h46
  5. Rions un peu [défi] un heureux gagnant déjà
    Par javatwister dans le forum Général JavaScript
    Réponses: 27
    Dernier message: 02/05/2007, 09h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo