Camelize, CamelCase
Lundi, Octobre 20, 2008Comme on le voit dans l'après Variété de codage et de codification des approches qui un développeur de mai ont à résoudre un problème sont nombreuses et variées du même langage de programmation utilisé. Voici comment certains des cadres de JavaScript plus populaires ont retrouvé une fonction simple de CamelCase:
Prototype.js
Prototype.js, version 1.6.0.3, proposer une camelize() méthode explicite camelize() pour rendre le camelcase sur une chaîne. L'approche de l'auteur est assez simple et le code est auto-explicatif. Dans ce cas n'a pas été fait usage des expressions régulières!
- ( ) { camelize: function () (
- this . split ( '-' ) , len = parts. length ; var = parties cela. split (len = parties'-'),. longueur;
- len == 1 ) return parts [ 0 ] ; if (len == 1) return parts [0];
- this . charAt ( 0 ) == '-' camelized var = this. charAt (0) == '-'
- 0 ] . charAt ( 0 ) . toUpperCase ( ) + parts [ 0 ] . substring ( 1 ) ? Parts [0]. CharAt (0). ToUpperCase () + parts [0]. Substring (1)
- 0 ] ; : Parts [0];
- var i = 1 ; i < len ; i ++ ) for (var i = 1; i <len; i + +)
- i ] . charAt ( 0 ) . toUpperCase ( ) + parts [ i ] . substring ( 1 ) ; camelized + = parts [i]. charAt (0). toUpperCase () + parts [i]. substring (1);
- camelized retour;
- )
Jetez un oeil également à ce débat intéressant.
Mootools
Bibliothèque Mootools, version 1.2, propose également un camelCase() méthode camelCase() Dans ce cas, la fonction est beaucoup plus compacte que celle proposée par Prototype.js, grâce à l'utilisation des expressions régulières.
- ( ) { CamelCase: function () (
- ( /-\D/g , function ( match ) { return this. replace (/ - \ d / g, (fonction match) (
- ( 1 ) . toUpperCase ( ) ; match retour. charAt (1). toUpperCase ();
- ));
- )
jQuery
jQuery, la version 1.2.6, ne propose pas une méthode explicite. Toutefois, en regardant dans le code, j'ai trouvé ceci:
- name . replace ( /\-(\w)/g , function ( all , letter ) { return letter. toUpperCase ( ) ; } ) ; CamelCase = var nom. replace (/ \ - (\ w) / g, de la fonction (tous, lettre) (retour de courrier. toUpperCase ();));
En outre, comme un plugin, jQuery propose un prototype de chaîne des extensions Quand l'addition est, précisément, une fonction camelize()
- / **
- * Retour à camelized String, supprimant tous les traits de soulignement et
- * Et la remplacer par une représentation en majuscule le caractère suivant.
- *
- * @ Example "font-weight". Camelize ()
- * @ Result "fontWeight"
- *
- * @ Example "border_width_bottom. Camelize ()
- * @ Result "borderWidthBottom"
- *
- * @ Example "border_width-bas». Camelize ()
- * @ Result "borderWidthBottom"
- *
- * @ Name camelize
- * @ Type String
- * @ Cat JavaScript / String
- * /
- , function ( ) { Add ( "camelize", function () (
- ( /[-_]([az])/ig , function ( z , b ) { return b. toUpperCase ( ) ; } ) ; return this. remplacer (/[-_]([ az]) / ig, function (z, b) (return b toUpperCase ();));
- ));
Ceci, en particulier, prend en considération le underscore (_) de caractères underscore (_) étant ainsi plus complet.













[...] Dans "this-et-un poste-". La transformation est similaire à celle de la camelize limace ou camelcase, qu'on voit ici. Voici une implémentation possible en PHP: Texte normal [...]