Rails Insights

dysgu Hash Ruby: Canllaw Cyflawn

Mae Ruby yn iaith raglennu hyfryd sy'n cynnig llawer o nodweddion pwerus, ac un o'r rhain yw'r hash. Mae hashes yn strwythurau data sy'n caniatáu i chi storio parau allweddol a gwerth, gan ei gwneud yn hawdd i chi drefnu a chyrchu data. Yn y canllaw hwn, byddwn yn archwilio'r holl bethau sy'n gysylltiedig â hashes yn Ruby, gan gynnwys sut i greu, darllen, a newid hashes. Gadewch i ni ddechrau!

Beth yw Hash yn Ruby?

Mae hash yn strwythur data sy'n cadw parau allweddol a gwerth. Mae'n debyg i dabl, lle mae'r allweddi yn gweithredu fel mynegiadau i'r gwerthoedd. Mae hashes yn ddefnyddiol pan fyddwch am storio data sy'n gysylltiedig â'i gilydd, fel gwybodaeth am ddefnyddwyr, cynnyrch, neu unrhyw ddata arall sy'n gysylltiedig.

Creu Hash

Mae creu hash yn Ruby yn syml iawn. Gallwch ddefnyddio'r nodau cyrchfan neu'r dulliau 'Hash.new'. Dyma ddau ffordd o greu hash:

# Defnyddio nodau cyrchfan
my_hash = { 'enw' => 'John', 'oes' => 30, 'dinas' => 'Caerdydd' }

# Defnyddio Hash.new
my_hash = Hash.new
my_hash['enw'] = 'John'
my_hash['oes'] = 30
my_hash['dinas'] = 'Caerdydd'

Darllen Gwerthoedd o Hash

Unwaith y byddwch wedi creu hash, gallwch ddarllen y gwerthoedd yn hawdd trwy ddefnyddio'r allweddi. Dyma sut i wneud hynny:

puts my_hash['enw']  # Bydd yn argraffu 'John'
puts my_hash['oes']   # Bydd yn argraffu 30
puts my_hash['dinas'] # Bydd yn argraffu 'Caerdydd'

Ystyried Allweddi a Gwerthoedd

Gallwch hefyd gael rhestr o'r holl allweddi a'r gwerthoedd yn eich hash. Dyma sut:

# Cael rhestr o'r holl allweddi
keys = my_hash.keys
puts keys.inspect  # Bydd yn argraffu ['enw', 'oes', 'dinas']

# Cael rhestr o'r holl werthoedd
values = my_hash.values
puts values.inspect  # Bydd yn argraffu ['John', 30, 'Caerdydd']

Newid Gwerthoedd yn Hash

Mae'n hawdd newid gwerthoedd yn hash. Gallwch wneud hyn trwy ddefnyddio'r allwedd a'r gwerth newydd. Dyma enghraifft:

my_hash['oes'] = 31  # Newid 'oes' i 31
puts my_hash['oes']  # Bydd yn argraffu 31

Ychwanegu a Dileu Allweddi

Gallwch hefyd ychwanegu allweddi newydd i'r hash neu ddileu rhai sydd eisoes yn bodoli. Dyma sut:

# Ychwanegu allwedd newydd
my_hash['proffesiwn'] = 'Peiriannydd'
puts my_hash['proffesiwn']  # Bydd yn argraffu 'Peiriannydd'

# Dileu allwedd
my_hash.delete('dinas')
puts my_hash.inspect  # Bydd yn argraffu {'enw' => 'John', 'oes' => 31, 'proffesiwn' => 'Peiriannydd'}

Iteru Drwy Hash

Gallwch ddefnyddio'r dull 'each' i fynd drwodd i bob par o allwedd a gwerth yn y hash. Dyma enghraifft:

my_hash.each do |key, value|
  puts "#{key}: #{value}"
end

Bydd hyn yn argraffu:

enw: John
oes: 31
proffesiwn: Peiriannydd

Hashes NESTED

Gall hashes fod yn 'nested', sy'n golygu y gallant gynnwys hashes eraill fel gwerthoedd. Mae hyn yn ddefnyddiol pan fyddwch am drefnu data mwy cymhleth. Dyma enghraifft:

nested_hash = {
  'person' => {
    'enw' => 'John',
    'oes' => 30
  },
  'dinas' => 'Caerdydd'
}

puts nested_hash['person']['enw']  # Bydd yn argraffu 'John'

Defnyddio Hashes gyda Metodau

Mae Ruby yn cynnig llawer o fethodau defnyddiol ar gyfer hashes. Dyma rai o'r rhai mwyaf defnyddiol:

  • merge: Ychwanegu hashes gyda'i gilydd.
  • select: Dewis parau allweddol a gwerth yn seiliedig ar amodau.
  • reject: Dileu parau allweddol a gwerth yn seiliedig ar amodau.
  • transform_keys: Newid yr allweddi yn y hash.

Enghreifftiau o Fethodau

# Defnyddio merge
hash1 = { a: 1, b: 2 }
hash2 = { b: 3, c: 4 }
merged_hash = hash1.merge(hash2)
puts merged_hash.inspect  # Bydd yn argraffu {:a=>1, :b=>3, :c=>4}

# Defnyddio select
selected_hash = merged_hash.select { |key, value| value > 2 }
puts selected_hash.inspect  # Bydd yn argraffu {:b=>3, :c=>4}

Casgliad

Mae hashes yn Ruby yn strwythurau data pwerus sy'n caniatáu i chi drefnu a chyrchu data yn hawdd. Mae'r canllaw hwn wedi rhoi'r wybodaeth sylfaenol i chi am greu, darllen, newid, a defnyddio hashes. Mae llawer o fethodau defnyddiol ar gael i wneud gwaith gyda hashes yn haws. Mae'n amser i chi ddechrau chwarae gyda hashes yn Ruby a gweld sut y gallant wella eich cod!

Gobeithio y byddwch wedi mwynhau'r canllaw hwn ac y byddwch yn teimlo'n hyderus wrth ddefnyddio hashes yn Ruby. Peidiwch ag oedi i archwilio mwy a chreu eich prosiectau eich hun!

Published: August 12, 2024

© 2024 RailsInsights. All rights reserved.