Camelize, CamelCase

Como se ve en el puesto de Variedades de la codificación y la codificación de los enfoques que un desarrollador pueda tener para resolver un problema son múltiples y diversas para el mismo lenguaje de programación utilizado. Así es como algunos de los frameworks de JavaScript más populares han resuelto una simple función de CamelCase :

Prototype.js

Prototype.js , versión 1.6.0.3, de forma explícita se propone un método camelize() para hacer el CamelCase en una cadena. El enfoque del autor es muy sencilla y el código es auto-explicativo. En este caso no se hizo ningún uso de expresiones regulares!

1
2
3
4
5
6
7
8
9
10
11
12
13
( ) { camelize: function () {
this . split ( '-' ) , len = parts. length ; . partes var = esta división ('-'), len = partes de longitud;.
len == 1 ) return parts [ 0 ] ; if (len == 1) piezas de retorno [0];

this . charAt ( 0 ) == '-' camelized var = esta charAt (0). == '-'
0 ] . charAt ( 0 ) . toUpperCase ( ) + parts [ 0 ] . substring ( 1 ) ? Partes [0]. CharAt (0). ToUpperCase () + partes [0]. Substring (1)
0 ] ; : Las partes [0];

var i = 1 ; i < len ; i ++ ) for (var i = 1, i <len; i + +)
i ] . charAt ( 0 ) . toUpperCase ( ) + parts [ i ] . substring ( 1 ) ; camelized + = partes [i] charAt (0) toUpperCase () + partes [i] substring (1)...;

retorno camelized;
}

Echa un vistazo a esta interesante discusión .

mootools

La biblioteca mootools , versión 1.2, también se propone un método camelCase() . En este caso la función es considerablemente más compacto que el propuesto por prototype.js, precisamente gracias a la utilización de expresiones regulares.

1
2
3
4
5
( ) { camelCase: function () {
( /-\D/g , function ( match ) { devolver este replace (/ -. \ D / g, la función (partido) {
( 1 ) . toUpperCase ( ) ; volver coincidir con charAt (1) toUpperCase ()..;
});
}

jQuery

jQuery , versión 1.2.6, no se propone un método explícito. Sin embargo, mirando en el código, he encontrado esto:

1
name . replace ( /\-(\w)/g , function ( all , letter ) { return letter. toUpperCase ( ) ; } ) ; . var name = camelCase replace (/ \ - (\ w) / g, multifunción (todo escrito,) {vuelta de correo toUpperCase ();.});

Por otra parte, como un plugin, jQuery ofrece un prototipo de extensiones de cadenas que se suma, en realidad, una función camelize() :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/ **
* Volver a la cadena camelized, la eliminación de todos los guiones bajos y guiones
* Sustitución de la próxima y con ella la representación de caracteres en mayúscula.
*
* @ Ejemplo "font-weight". Camelize ()
* @ Resultado "fontWeight"
*
* @ Ejemplo "border_width_bottom". Camelize ()
* @ Result "borderWidthBottom"
*
* @ Ejemplo "border_width de fondo". Camelize ()
* @ Result "borderWidthBottom"
*
* Nombre @ camelize
* @ El tipo de serie
* @ Gato JavaScript / Cadena
* /
, function ( ) { add ("camelize", function () {
( /[-_]([az])/ig , function ( z , b ) { return b. toUpperCase ( ) ; } ) ; devolver este replace (/ [-_] ([az]) / ig, (z, b) {return b toUpperCase ();.}).;
});

Esto, en particular, tiene en cuenta el carácter underscore (_) , lo que les hace más completo.

Opina sobre: ​​"Camelize, CamelCase"

  1. 28 de mayo 2009 Undolog.com "fragmento muy corto: babosa PHP :

    [...] En "esto-y-un-post". La transformación en slug es similar a la de camelize o CamelCase, visto aquí. Esta es una posible implementación en PHP: texto [...]

Deja un comentario

TAG PERMISOS XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> código de inserción:
 <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 


Deje de SOPA