Vi är ett it-konsultföretag som främst sysslar med webbutveckling i Ruby on Rails

Plasthuset i hoting Företagarna Hoting Billiga klistermärken, Dekaler, Banderoller Jobbhuset.se Restaurang Aspentos i Uppsala Mojes Grill i Hoting Corner Food house Pizzeria La Mavie Åre

Introduktion till Ruby's hashtabeller

Hashtabeller

En hashtabell liknar en array men man använder index-nycklar istället för numeriska index som i arrayer.

Som arrayer finns det många olika sätt att skapa en hashtabell på.

Du kan skapa en hashtabell med klass metoden new

 

>> namn = Hash.new # skapar en tom hashtabell

=> {}

För att lägga värde i hashtabellen används nyckeln som index istället för en siffra

 

>> namn["blogg"] = 'Haslogic'

=> "Haslogic"

>> namn

=>  {"blogg"=>"Haslogic"}

Du kan också skapa en hashtabell med {}:

 

>> namn = {}

=> {}

För att lägga värde i hashtabellen används nyckel/värde separerade med =>:

 

>> namn = {"Pspråk" => "Ruby","Blogg" => "Haslogic"}

=> {"Pspråk"=>"Ruby","Blogg"=>"Haslogic"}

För att hämta data ur en hashtabell används hakparenteser med nyckel som argument:

 

>> ht = {"Stad"=>"Helsingborg","Psprak"=>"Ruby"}

=> {"Psprak"="Ruby","Stad"=>"Helsingborg"}

>> ht["Stad"]

=> "Helsingborg"

>> ht["Psprak"]

=> "Ruby"

Ändra ett element

 

>> ht = {"Blogg"=>"Vet ej","Psprak"=>"Ingen"}

=> {"Psprak"=>"Ingen", "Blogg"=>"Vet ej"}

>> ht.replace({"Blogg"=>"Haslogic","Pspråk"=>"Ruby"})

=> {"Pspråk"=>"Ruby","Blogg"=>"Haslogic"}

>> ht

=> {"Pspråk"=>"Ruby","Blogg"=>"Haslogic"}

replace ersätter innehållet av ht helt och hållet.

 

Metoden delete används för att ta bort ett värde ur en hashtabell.

 

>> ht = {"Blogg"=>"Haslogic","Psprak"=>"Ruby"}

=> {"Psprak"=>"Ruby", "Blogg"=>"Haslogic"}

>> ht.delete("Blogg")

=> "Haslogic"

>> ht

=> {"Psprak"=>"Ruby"}

>>

Symboler används ofta i hashtabeller

 

>> ht = {:blogg => "Haslogic",:psprak => "Ruby",:alder => 26}

=> {:blogg=>"Haslogic", :psprak=>"Ruby", :alder=>26}

>> ht[:blogg]   # Hämta data ur hashtabellen

=> "Haslogic"

>> ht.delete(:alder) # ta bort värde ur hashtabellen

=> 26

>> ht

=> {:blogg=>"Haslogic",:psprak=>"Ruby"}

has_key? metoden returnerar true om den givna nyckeln finns i hashtabellen annars false:

 

>> ht = {:blogg => "Haslogic", :psprak => "Ruby"}

=> {:blogg=>"Haslogic", :psprak=>"Ruby"}

>> ht.has_key?(:blogg)

=> true

>> ht.has_key?(:alder)

=> false

has_value? metoden returnerar true om värdet finns i hashtabellen annars false:

 

>> ht = {:blogg => "Haslogic", :alder => 26}

=> {:blogg=>"Haslogic",:alder=>26}

>> ht.has_value?(26)

=> true

>> ht.has_value?("Ruby")

=> false

>> ht.has_value?("Haslogic")

=> true

En fullständig lista över Rubys Hash metoder hittar du här:

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





Skriv ny kommentar








Din kommentar blir synlig först efter att en moderator har godkänt den.