2010-11-24 13 views
35

Hat Ruby auf Schienen assoziative Arrays?Ruby: Assoziative Arrays

Für zB:

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

Was ist die einfachste Methode, eine solche Arraystruktur in Ruby zu schaffen?

+0

Seine Sprache Ruby, Ruby on Rails ist ein Framework Ruby gebaut. –

Antwort

62

Im Gegensatz zu PHP, das Arrays und Hashes zusammenfasst, sind sie in Ruby (und praktisch jeder anderen Sprache) eine separate Sache.

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

Es gibt mehrere frei verfügbare Einführungs Bücher über Rubin und Online-Simulatoren usw.

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

+17

Mit anderen Worten: Sie müssen einfach "a = Array.new" durch "a = Hash.new" ersetzen. – Arsen7

+0

ist zu beachten, dass Ruby verwechselte Hashes mit Datenstrukturen zu haben scheint, die Hashes für Lookups verwenden - z. Hash-Tabelle/Hash-Karte. in den meisten anderen Kontexten sind diese Konzepte nicht verwechselt – jheriko

21

Verwenden Hashes:

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

In Ihrem Fall würde es sein, Hier sind einige Beispiele, wie man anfangen kann (alle diese machen dasselbe, nur unterschiedliche Syntax):

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

Oder Sie tun können:

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

Oder sogar ein Motto:

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

Sie können auch wie erwartet erhöhen; 'a [" Peter "] + = 1' usw. –

Verwandte Themen