Codificación de las conexiones en Perl (1 / 6 paso)

Paso 1: Conexiones pares en Perl - métodos

Considere el siguiente ejemplo:
Guías de teléfono proporcionan una lista ordenada alfabéticamente de nombres, lo que permite al lector conocer qué número de teléfono se asigna a una persona. También hay tal cosa como un "directorio inverso" que permite iniciar con el número de teléfono y el nombre de la persona asociada a ese número. (Útil cuando quiere averiguar quién es interrumpir su cena!).

Ahora el problema, vamos a decir se trabaja con una fuente de datos que no garantiza las asociaciones 1-1. Un ejemplo de esto sería teléfono líneas de partido. Un problema surge cuando se asocia con un número más de una persona. En Perl, si usted utiliza un array asociativo para búsqueda rápida, una versión invertida podría perder información. Las imágenes aquí muestran cómo usar la función inversa en un hash puede conducir a pérdida de información. En un ejemplo, tenemos una matriz asociativa de números de teléfono. Parece que hemos perdido la pista de "Max". En el otro ejemplo, tenemos Catálogo ficticio de dispositivos de internet conectado. En este caso hemos perdido la pista de "consolas". Otros indicios obvios de múltiples dispositivos con la misma dirección a un lado, la pérdida de la información hará evaluar con un simple array asociativo de problemático.

En una escala mayor, los registros se componen típicamente de varios campos. Un libro de teléfono, también incluye direcciones de calle. El campo dirección es útil para algunas búsquedas, pero no para otros. El campo de dirección sería un ejemplo de un valor asociado que no está indexado. Así, uno puede seleccionar los campos necesarios para la evaluación y un campo de identificador único que relaciona lo hacia el registro más grande. Estos campo seleccionado pueden ayudar con el apoyo de toma de decisiones y el campo id único puede entonces le permiten seleccionar de otros campos. Por ejemplo, tienes el teléfono móvil, pero quieres probar la línea de tierra.

Yo he invertido tiempo y esfuerzo a trabajar en Perl con este tipo de datos más fácil de hacer y me gustaría compartir mi solución. Un Perl "módulo" es perfecto para esto. Perl proporciona "módulos" que pueden utilizarse para encapsular los detalles de una aplicación para su reutilización. En el mundo de Perl encontrarás una vasta biblioteca de módulos de CPAN, como cualquier desarrollador puede hacer su propio módulo con esfuerzo marginal y ofrecen incluso hasta otros. Me gusta construir un módulo reutilizable por dos razones. En primer lugar quiero encapsular los detalles de implementación. En segundo lugar quiero hacer constante reutilización de la aplicación. Para utilizar un módulo uno simplemente incluye en su código utilizando la palabra clave use.

Las cosas que quiero implementar este módulo incluyen:

  • Inicialización y miembro acceden / afirmar
  • Impresión y depuración
  • Añadir pares clave valor
  • Quitar clave valor par
  • Existe la clave
  • Lista de todas las claves
  • Invertir el valor de la clave par

Artículos Relacionados

El peligro de las conexiones eléctricas flojas y arreglarlos!

El peligro de las conexiones eléctricas flojas y arreglarlos!

En el mundo de la energía eléctrica es importante hacer bien todas las conexiones. Es tiene que ser apretada (no tan apretada que tira hilos de pernos/tornillos) para evitar contactos de alta resistencia que generará calor.Soldadura de las conexiones
Cómo hacer las conexiones en el muelle 9

Cómo hacer las conexiones en el muelle 9

¿Quieres conocer a gente en el laboratorio de electrónica pero no tienen idea sobre qué hablar? Hacer algunas conexiones! Pregúnteles acerca de un proyecto que fracasó en el campo, lo más probable es que es debido a una conexión suelta.Todos hemos si
Cocodrilo conduce con Integral los sostenedores del fusible para las conexiones seguras a las baterías de plomo

Cocodrilo conduce con Integral los sostenedores del fusible para las conexiones seguras a las baterías de plomo

no me gusta el fuego.  Me disgusta especialmente incendios en mi tienda y mi saco de dormir. Este instructable detalla los pasos utiliza para crear un par de cocodrilo conduce con portafusibles integral para que lo conectes con el caimán lleva está p
Por qué las bayas con perlas

Por qué las bayas con perlas

Este acerca de cómo ellos Berries Smoothie es increíble. Es perfecto para este día y refrescarse en la piscina del kiddie de vecinos. ADVERTENCIA: sus amigos se convertirá en adictos y siempre pedirá que hacen de este, tan en el lado negativo que no
Árbol de Navidad desde teléfono: no codificación requerida interruptor de red utilizando la partícula fotón y IFTTT hacer

Árbol de Navidad desde teléfono: no codificación requerida interruptor de red utilizando la partícula fotón y IFTTT hacer

Un interruptor accionado por una partícula fotón y IFTTT. Funcionar cualquier dispositivo (árbol de Navidad!) en tu casa desde tu teléfono! O desde twitter! o basado en el tiempo en su ubicación! Con ninguna codificación y mínima soldadura habilidad
Corona del laser

Corona del laser

Me encantan algunas de las cosas de vestir nuevo que está apareciendo en Adafruit, Hackaday y hacer la revista. Cuando vi nuevo 60 LED anillo de Neopixel de Adafruit, sabía exactamente lo que quería construir para mis hijas... Había hecho una tentati
Escudo del Motor V2 de codificación Tutorial de semillas

Escudo del Motor V2 de codificación Tutorial de semillas

En este Intructable a hablar sobre un problema común en la programación, el método de arriba hacia abajo de la programación y aprender a controlar el Motor de Seeed protector V2.0 para el Arduino Uno. Así permite ir directamente a él.Y de mis proyect
Disuasión del animal doméstico - manténgalos alejados de las zonas de límites

Disuasión del animal doméstico - manténgalos alejados de las zonas de límites

El problema: nuestro gato disfruta tratando de "pescar" en nuestro acuario. Hay dos soluciones en el mercado para disuadir a una mascota de este tipo de cosas pero son caros y feos. Se me ocurrió algo asequible y discreta, y cabe fácilmente en n
Semáforo de Control de montaje y conexiones VAC 120

Semáforo de Control de montaje y conexiones VAC 120

el propósito de este Instructable es mostrar cómo fabricar un montaje y un tablero de Control de semáforo AC.Por favor VOTE. Más allá de la zona de confort!Esta es mi primera vez instalar un tablero de control la construcción de cualquier tipo y reac
Esqueletos de escalar las paredes de la casa

Esqueletos de escalar las paredes de la casa

¿Así que quieres ser de la casa (Mieda) fresca en la calle este Halloween, pero no sólo cómo poner su decoraciones al aire libre en la parte superior? Por qué no añadir un toque real y tiene un enjambre de esqueletos escalar las paredes de su casa en
Mac Pro polvo prueba caso - corte Laser

Mac Pro polvo prueba caso - corte Laser

Un buen amigo mío hace un montón de proyecciones polvorienta con su nueva Mac Pro torre. Me preguntó si yo podría construir lo algo para mantener el polvo fuera así que me puse a trabajar. Tengo una tienda de madera y un cortador láser que yo he esta
Realidad aumentada fenomenal nos permite ver cómo las cosas nos miran!

Realidad aumentada fenomenal nos permite ver cómo las cosas nos miran!

En mi infancia descubrí un interesante fenómeno: si conectado una fuente de luz a un receptor de televisión suficientemente amplificada, y saludó la luz por delante de una cámara de vídeo, pude obtener la luz para funcionar como una pantalla 3D de re
Cómo ejecutar un reloj eléctrico de batería de las pilas

Cómo ejecutar un reloj eléctrico de batería de las pilas

Pocos proyectos electrónicos son tan simples como esta. Atraerá a quienes sacar una patada de extraer los últimos vestigios de la energía de baterías agotadas.Paso 1: Resumen Mayoría de los hogares tiene varios ejemplos de un reloj que contiene al ti
CO2 Refrigerador de agua del Laser

CO2 Refrigerador de agua del Laser

Refrigerador de agua de láser de CO2Tubos de láser de CO2 se enfrían o bombeo de agua a través del tubo. Esto es necesario para prolongar la vida útil del tubo que de otra manera sobrecalentarse y perder rápidamente energía y eventualmente dejar de f