Camelize, CamelCase

Comme vu dans le poste de variétés de codage et le codage des approches qu'un développeur peut avoir à résoudre un problème sont multiples et diverses pour le même langage de programmation utilisé. Voici comment quelques-uns des principaux frameworks JavaScript avoir résolu une simple fonction de CamelCase :

Prototype.js

Prototype.js , version 1.6.0.3, propose explicitement une méthode camelize() pour rendre le camelcase sur une corde. L'approche de l'auteur est assez simple et le code est auto-explicatif. Dans ce cas, il n'a pas été fait aucun usage de l'expression régulière!

1
2
3
4
5
6
7
8
9
10
11
12
13
( ) { camelize: function () {
this . split ( '-' ) , len = parts. length ; var = pièces cette division ('-'), len = parties de longueur..;
len == 1 ) return parts [ 0 ] ; if (len == 1) le retour des pièces [0];

this . charAt ( 0 ) == '-' camelized var = ce charAt (0) ==. '-'
0 ] . charAt ( 0 ) . toUpperCase ( ) + parts [ 0 ] . substring ( 1 ) ? Pièces [0]. CharAt (0). ToUpperCase () + pièces [0]. Substring (1)
0 ] ; : Pièces [0];

var i = 1 ; i < len ; i ++ ) for (var i = 1, i <len; i + +)
i ] . charAt ( 0 ) . toUpperCase ( ) + parts [ i ] . substring ( 1 ) ; camelized + = parties [i] charAt (0) toUpperCase () + pièces [i]-chaîne (1)...;

retour camelized;
}

Jetez un oeil à cette discussion intéressante .

mootools

La bibliothèque mootools , version 1.2, propose également une 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.

1
2
3
4
5
( ) { camelCase: function () {
( /-\D/g , function ( match ) { retourner ce remplacement (/ -. \ D / G, la fonction (match) {
( 1 ) . toUpperCase ( ) ; match retour charAt (1) toUpperCase ()..;
});
}

jQuery

jQuery , la version 1.2.6, ne propose pas une méthode explicite. Cependant, regarder dans le code, j'ai trouvé ceci:

1
name . replace ( /\-(\w)/g , function ( all , letter ) { return letter. toUpperCase ( ) ; } ) ; var name = camelCase remplacer (/ \ -. retour de courrier (\ w) / g, la fonction (tous, lettre) {toUpperCase ();});.

En outre, comme un plugin, jQuery propose une extension de prototype de chaîne qui ajoute, en fait, une fonction camelize() :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/ **
* Retourner à cordes camelized, en supprimant toutes soulignement et des tirets
* Remplacement de l'autre et avec sa représentation en caractères majuscules.
*
* @ Exemple "font-weight". Camelize ()
* @ Result "fontWeight"
*
* Exemple @ "border_width_bottom". Camelize ()
* @ Result "borderWidthBottom"
*
* @ Exemple "border_width-bas». Camelize ()
* @ Result "borderWidthBottom"
*
* Nom @ camelize
* @ Type String
* @ Cat JavaScript / String
* /
, function ( ) { ajouter ("camelize", function () {
( /[-_]([az])/ig , function ( z , b ) { return b. toUpperCase ( ) ; } ) ; retourner ce. remplacera (/[-_]([ az]) / ig, fonction (z, b) {return b toUpperCase ();});
});

Ceci, en particulier, prend en compte le caractère underscore (_) , ce qui les rend plus complètes.

One Response to "Camelize, CamelCase"

  1. 28 mai 2009 Undolog.com "Très court extrait: limace de PHP :

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

Laisser un commentaire

XHTML TAG PERMIS: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> CODE D'INSERTION:
 <pre></pre> // blocco generico <code></code> // blocco generico [cc_actionscript][/cc_actionscript] // Actionscript [cc_actionscript3][/cc_actionscript3] // Actionscript 3 [cc_css][/cc_css] // CSS Style Sheet [cc_html][/cc_html] // HTML [cc_js][/cc_js] // Javascript [cc_objc][/cc_objc] // Objective-C [cc_php][/cc_objc] // PHP [cc_sql][/cc_sql] // SQL 


Arrêtez SOPA