Aunque este tema lo he tratado alguna vez un poco más de pasada o con algún ejemplo concreto, vamos a ver ejemplos concretos de cosas que podemos hacer con una cadena de caracteres en Bash, para mejorar nuestros scripts, y sobre todo, para tener una pequeña documentación para mí, que siempre que necesito algo parecido me tiro un rato buscando… El caso es que en versiones más o menos nuevas de BASH (más o menos desde hace 6 años o así), podemos usar muchos de estos trucos y no tenemos necesidad de utilizar programas externos (como tr, awk, sed y otros) en muchos casos, por lo que la ejecución se realizará mucho más rápida.… Leer artículo completo
Nota: Si usas algún Framework PHP, lo más seguro que estas funciones no te sirvan, ya que muchos Frameworks suelen tener cosas parecidas, más o menos completas que hacen lo mismo. Si eres de los que trabajan «a pelo», estás creándote tu propio framework, tal vez te interese todo esto.
Acceso simple a un elemento de un array
Esto es una tarea sencilla en PHP, sólo tenemos que poner entre corchetes la clave a la que queremos acceder y podremos acceder a su valor:
Como parte de uno de mis últimos proyectos, recopilo datos periódicamente y los almaceno en una tabla SQLite. Pero, al final, los datos no valen para nada si no somos capaces de tener una visión global de lo que ha pasado a lo largo del periodo de tiempo. Y para eso, ¿qué mejor que pintar los datos en una gráfica?
Ya que los datos los almaceno en SQLite, utilizaré el cliente sqlite3 y para pintar las gráficas, gnuplot.… Leer artículo completo
En numerosas ocasiones necesitamos almacenar dos datos de diferente o igual tipo bajo la misma variable. Es más, en ocasiones estarán relacionados y no debemos separarlos o no tendría sentido.
La forma más inmediata es almacenar cada dato por su lado y diseñar los algoritmos de modo que siempre vayan los dos datos juntos, aunque tendremos un problema:
Será difícil de mantener, tenemos siempre que asegurar que los datos siempre vayan juntos.
Si habéis programado en C, seguramente la primera función que aprendisteis a utilizar era printf() ; y en todo el tiempo que pasasteis estudiando C no encontrasteis una función similar. Y es que esta función puede tener un número indeterminado de parámetros y es capaz de analizarlos todos.
Y es que quitando printf(), scanf() y derivadas de estas, la necesidad de una función con múltiples parámetros casi no se nos presenta.… Leer artículo completo
Hace unos días empecé con la serie Bailando con Bits (aunque llevaba escrito varios meses) trata de formas para trabajar a nivel de bit desde C.
Hoy voy a proponer otra forma, quizás menos intuitiva que la anterior, pero diferente. Esta vez no utilizaremos un registro enorme ni nada parecido, utilizaremos un mismo número entero para hacer el ejemplo:
Ahora usamos varias macros que harán operaciones de bit con la variable a analizar (están definidas en la parte de arriba), tenemos PESOBIT, COGEBIT, PONE_1, PONE_0 y CAMBIA:
PESOBIT: Nos dice cuánto vale un bit con valor 1 en la posición especificada, por ejemplo en la posición 0 (LSB) vale 1, en la posición 1, vale 2, en la posición 3, vale 4, en la posición 4, vale 8…
COGEBIT: Nos dice si el bit en la posición bpos de la variable var vale 0 ó 1
PONE_1: Pone un 1 en el bit bpos de la variable var
PONE_0: Pone un 0 en el bit bpos de la variable var
CAMBIA: Cambia el valor (de 0 a 1 y viceversa) del bit en la posición bpos de la variable var
Como vemos en el ejemplo si queremos poner a 1 el bit 5 de numero, tendremos que hacer numero=PONE_1(numero,5), aunque en el siguiente ejemplo veremos cómo simplificar todo eso.… Leer artículo completo
Si te ha gustado el sitio, te ha resultado útil o simplemente quieres colaborar con el sitio para que siga compartiendo contenidos, invítame a un café, una pizza, una ensalada, o lo que se te ocurra.Te lo agradeceré eternamente :)
¡Atención! Este sitio utiliza cookies propias y de terceros para mejorar la experiencia de usuario, Si continúa la navegación en el sitio, asumo que estás de acuerdo con esto, aunque siempre puedes desactivar las cookies en tu navegador. AceptarLeer más
Últimos comentarios