Camelize, CamelCase
Lunes, 20 de octubre 2008Como se ve en el puesto de Variedades de la codificación y la codificación de los enfoques que un desarrollador puede tener que resolver un problema son variados y muchos de los mismo lenguaje de programación utilizado. He aquí cómo algunos de los marcos más populares de JavaScript han resuelto una simple función de CamelCase:
Prototype.js
Prototype.js, la versión 1.6.0.3, proponer un camelize() método explícito camelize() para hacer el camelcase en una cadena. El enfoque del autor es muy sencilla y el código es autoexplicativo. En este caso no se hizo uso de expresiones regulares!
- ( ) { camelize: function () (
- this . split ( '-' ) , len = parts. length ; partes var partes = = esto. split (len'-'),. longitud;
- len == 1 ) return parts [ 0 ] ; if (len == 1) return partes [0];
- this . charAt ( 0 ) == '-' var = camelized esto. charAt (0) == '-'
- 0 ] . charAt ( 0 ) . toUpperCase ( ) + parts [ 0 ] . substring ( 1 ) ? Partes [0]. Charat (0). ToUpperCase () + partes [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 + = partes [i]. charAt (0). toUpperCase () + partes [i]. substring (1);
- volver camelized;
- )
Eche un vistazo también a este debate interesante.
mootools
Mootools Biblioteca, la versión 1.2, también propone una camelCase() método camelCase() En este caso la función es mucho más compacto que el propuesto por Prototype.js, gracias a la utilización de expresiones regulares.
- ( ) { camelCase: function () (
- ( /-\D/g , function ( match ) { este regreso. replace (/ - \ d / g, function (partido) (
- ( 1 ) . toUpperCase ( ) ; partido de vuelta. charAt (1). toUpperCase ();
- ));
- )
jQuery
jQuery, la versión 1.2.6, no se propone un método explícito. Sin embargo, mirando en el código, he encontrado esto:
- name . replace ( /\-(\w)/g , function ( all , letter ) { return letter. toUpperCase ( ) ; } ) ; var = camelCase nombre. replace (/ \ - (\ w) / g, la función (todos, carta) (carta de retorno. toUpperCase ();));
Por otra parte, como un plugin, jQuery ofrece una extensión del prototipo de cadena, donde añadido, precisamente, una función camelize()
- / **
- * Volver a String camelized, la eliminación de todos los guiones y guiones bajos
- * Y que lo sustituya con representación en mayúsculas el carácter siguiente.
- *
- * @ Ejemplo "font-weight". Camelize ()
- * @ Result "fontWeight"
- *
- * @ Ejemplo "border_width_bottom. Camelize ()
- * @ Result "borderWidthBottom"
- *
- * @ Ejemplo "border_width-bottom". Camelize ()
- * @ Result "borderWidthBottom"
- *
- * @ Nombre camelize
- * @ Tipo String
- * @ Cat JavaScript / String
- * /
- , function ( ) { add ( "camelize", function () (
- ( /[-_]([az])/ig , function ( z , b ) { return b. toUpperCase ( ) ; } ) ; este regreso. reemplazar (/[-_]([ az]) / ig, function (z, b) (b regreso toUpperCase ();));
- ));
Esto, en particular, tiene en cuenta el underscore (_) el carácter underscore (_) por lo tanto ser más completa.













[...] En "esto-y-un-post". La transformación es similar a la de la babosa o camelize camelcase, visto aquí. He aquí una posible aplicación en PHP: Texto sin formato [...]