2010-11-24 13 views
35

¿Ruby on rails tiene matrices asociativas?Ruby: matrices asociativas

Por ejemplo:

a = Array.new 
    a["Peter"] = 32 
    a["Quagmire"] = 'asdas' 

¿Cuál es el método más fácil para crear una estructura de este tipo de matriz en Ruby?

+0

idioma Su Ruby, Ruby on Rails es un marco construido con Ruby. –

Respuesta

62

A diferencia de PHP que combina matrices y hashes, en Ruby (y prácticamente en cualquier otro idioma) son una cosa separada.

http://ruby-doc.org/core/classes/Hash.html

En su caso sería:

a = {'Peter' => 32, 'Quagmire' => 'asdas'} 

Hay varios libros disponibles libremente introductorias sobre rubí y simuladores en línea, etc.

http://www.ruby-doc.org/

+17

En otras palabras: solo tiene que reemplazar "' a = Array.new' "con" 'a = Hash.new'". – Arsen7

+0

, vale la pena señalar que el rubí parece haber confundido hashes con estructuras de datos que usan hash para búsquedas, p. hash table/hash map. en la mayoría de los otros contextos, estos conceptos no se confunden – jheriko

21

Use hashes, Aquí hay algunos ejemplos sobre cómo comenzar (todos hacen lo mismo, solo una sintaxis diferente):

a = Hash.new 
a["Peter"] = 32 
a["Quagmire"] = 'asdas' 

O usted podría hacer:

a = {} 
a["Peter"] = 32 
a["Quagmire"] = 'asdas' 

O incluso un chiste:

a = {"Peter" => 32, "Quagmire" => 'gigity'} 
+1

También puede incrementarse como se espera; 'a [" Peter "] + = 1' etc. –

Cuestiones relacionadas