¿Cuál es la diferencia entre arrays y hashes en Ruby?

  • Una descripción de cuando te gustaría usar uno más que el otro, no sólo una descripción técnica, podría ser una buena respuesta.
InformationsquelleAutor emurad | 2011-05-23

4 Comentarios

  1. 32

    De Ruby-Doc:

    Se ordenan las matrices de tipo entero de las colecciones indexadas de cualquier objeto. Matriz de indexación se inicia en 0, como en C o Java. Un índice negativo es que se supone en relación a la final de la matriz, es decir, un índice de -1 indica que el último elemento de la matriz, -2 es la siguiente al último elemento de la matriz, y así sucesivamente. Buscar aquí para más.

    Un Hash es una colección de pares clave-valor. Es similar a una Matriz, salvo que la indexación se realiza a través de teclas arbitrarias de cualquier tipo de objeto, no un índice entero. Hash de enumerar sus valores en el orden en que las claves correspondientes que se han insertado.

    Los hash tiene un valor predeterminado que se devuelve cuando se accede a las claves que no existen en el hash. De forma predeterminada, el valor es nil. Buscar aquí para más.

  2. 10

    Matrices:
    Las matrices se utilizan para almacenar colecciones de datos. Cada objeto en una matriz tiene una única clave asignada. Podemos acceder a cualquier objeto en la matriz utilizando esta clave única. Las posiciones en una matriz comienza a partir de » 0 «. El primer elemento se encuentra en » 0 «, el segundo en 1ª posición, etc.

    Ejemplo:
    Intente lo siguiente en el irb.

    bikes = Array.new
    bikes = %w[Bajaj-Pulsar, Honda-Unicorn, TVS-Apache, Yamaha, Suzuki]

    Ha añadido 4 elementos en la matriz.

    puts bikes[3]
    Yamaha,

    Añadir un nuevo elemento a la posición 5.

    bikes[5] = "Hardly Davidson"

    Los hash:
    Como las matrices, Hashes también se usan para almacenar datos. Los Hashes de los puntos de un objeto a otro objeto. Considere la posibilidad de asignar un cierto «sentido» a una cadena. Cada vez que usted se refiere que la cadena, que se refiere a su «significado».

    Ejemplo:

    bikes = Hash.new
    bikes = {
    'Bajaj' => 'Pulsar 220, Pulsar 200, Pulsar 180 and Pulsar 150',
    'Honda' => 'Unicorn, Shine and Splendor',
    'TVS' => 'Apache, Star City, and Victor'
    }

    Intente esto ahora:

    bikes['Bajaj']

    Usted obtener => «Pulsar 220, Pulsar 200, Pulsar 180 y Pulsar 150»

  3. 8

    Una matriz es una lista ordenada de las cosas: a, b, c, d

    Un hash es una colección de pares clave/valor: juan tiene un peugeot, bob tiene un renault, adam tiene un ford.

    • Eso no significa Ruby = Array de PHP Array Indexado y Ruby Hash = PHP Array Asociativo?
    • Suena como él. Me las he arreglado para evitar hacer cualquier cosa bastante complicada con PHP para exigir cualquier tipo de matriz desde la década de los 90.
  4. 0

    Los dos términos de «hash» juntos estos días. Yo pensar esto es lo que pasa:

    Un «hash» se han clave -> los pares de valores:

    (top -> tshirt, bottom -> shorts, feet -> shoes)

    Y una «matriz» suele tener un índice:

    ([0]tshirt, [1]shorts, [2]shoes)

    Pero, bien o mal, vas a ver las cosas con clave -> los pares de valores llamado «matrices», también.

    Creo que la diferencia depende principalmente de cómo y cuando quiere hacer uso de ellos. No habrá mucho problema en llamar una matriz de un hash, o viceversa, pero usted debe saber la diferencia.

Dejar respuesta

Please enter your comment!
Please enter your name here