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

Langage Perl Discussion :

[langage] Creer une fonction qui met en majuscule ?


Sujet :

Langage Perl

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2002
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 29
    Points : 21
    Points
    21
    Par défaut [langage] Creer une fonction qui met en majuscule ?
    Slt je voudrais creer une fonction qui met une chaine passé en param en majuscule mais je n'y arrive pas .

    voila ce que j'ai testé
    Code : 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
     
    sub majuscule
    {
    	my $chaine = $_[0] ;
    	my @temp = split (//,$chaine) ;
    	my $taille = @temp ;
    	my @res = @temp ;
    	my result = "" ;
     
    	for ($i = 0 ; $i < $taille ; $i++)
    	{
    		if (("a" ge $temp[$i]) && ("z" le $temp[$i]))
    		{
    			$res[$i] = $temp[$i] - ('a' - 'A') ;
    		}
    	}
     
    	for ($i = 0 ; $i < $taille ; $i++)
            {
                     $result .= $res[$i] ;
            }
     
    	return ($result) ;
    }
    Merci de votre aide et @++

  2. #2
    Membre à l'essai
    Inscrit en
    Août 2002
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 29
    Points : 21
    Points
    21
    Par défaut
    J'ai trouvé une solution avec une expre reguliaire mais j'aimerais bien savoir pkoi mon premier prog marche pas si possible.

    Voila le code avec l'expr reg
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    sub majusculeOK
    {
    	my $chaine = $_[0] ;
     
    	$chaine =~ tr/a-z/A-Z/ ;
    	return $chaine ;
    }
    @++ et merci

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 53
    Points : 64
    Points
    64
    Par défaut
    pourquoi inventer qq chose qui existe ?
    print uc("toto\n");
    les fautes d'orthographe de ce texte sont sous license GPL. Merci d'informer le proprietaire de la faute en cas de modification.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2002
    Messages : 68
    Points : 73
    Points
    73
    Par défaut
    De meme pour mettre en minuscules avec : lc('string')

    Merci de bien vouloir cocher la case résolu pour ce post
    Ce n’est pas parce que les choses sont difficiles que nous n’osons pas ; c’est parce que nous n’osons pas qu’elles sont difficiles.
    Sénèque

  5. #5
    Membre à l'essai
    Inscrit en
    Août 2002
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 29
    Points : 21
    Points
    21
    Par défaut
    Citation Envoyé par arthurr
    pourquoi inventer qq chose qui existe ?
    Pour apprendre tt simplement . Comment fre kkchose de compliqué si on sait pas fre kkchose de simple. Voila mon raisonnement mais sa a rien avoir avec le sujet.
    Merci de vos reponses, je vais mettre resolu mais j'avou que j'aurais bien aimé savoir pkoi mon code est faux .

    @++

  6. #6
    Membre habitué
    Inscrit en
    Août 2003
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 156
    Points : 187
    Points
    187
    Par défaut
    Citation Envoyé par Cyber@l
    mais j'avou que j'aurais bien aimé savoir pkoi mon code est faux .
    attention aux '$' manquants pour les noms des variables :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     my [b]$[/b]result = "" ;
    tu as dû confondre 'greater than' (plus grand que) et 'less than' (plus petit que)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
          if (($temp[$i] ge 'a') && ($temp[$i] le 'z'))
          {
             $res[$i] = chr(ord($temp[$i]) - 32) ;
          }
    utilise ord et chr pour passer du caractère à la valeur ascii et vice-versa

    pour la doc en ligne en francais sur perl, je te conseille ce site
    -- plus les choses changent...
    plus elles restent les mêmes
    --snake plissken
    pb résolus +20

  7. #7
    Membre à l'essai
    Inscrit en
    Août 2002
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 29
    Points : 21
    Points
    21
    Par défaut
    Merci bcp je testerais sa demain, sa doit marcher nikel.
    Decidement que des erreurs betes comme souvent .

    @++

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/12/2011, 18h16
  2. creer une fonction qui retourne un tableau
    Par altaro dans le forum SQL Procédural
    Réponses: 0
    Dernier message: 02/01/2010, 01h01
  3. [PHP 5.0] Creer une fonction qui retourne une variable dans le script
    Par keaton7 dans le forum Langage
    Réponses: 8
    Dernier message: 10/02/2009, 14h09
  4. Réponses: 14
    Dernier message: 09/04/2004, 13h44
  5. [VB6] Comment faire une fonction qui renvoie 2 résultats
    Par tazarine dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 15/01/2004, 00h13

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