Rails Insights

Meistroli Teyrngedau Ruby

Mae Teyrngedau Ruby yn un o'r strwythurau data mwyaf pwerus a defnyddiol yn y iaith raglennu Ruby. Mae'n caniatáu i chi storio a rheoli setiau o ddata mewn ffordd sy'n hawdd ei deall a'i ddefnyddio. Yn yr erthygl hon, byddwn yn archwilio'r sylfaenau o deyrngedau Ruby, gan gynnwys sut i greu, darllen, a newid teyrngedau, yn ogystal â rhai technegau mwy soffistigedig. Gadewch i ni ddechrau!

Beth yw Teyrngedau?

Mae teyrngedau yn strwythurau data sy'n caniatáu i chi storio casgliadau o eitemau. Mae pob eitem yn cael ei chynrychioli gan ei phozisiwn yn y teyrnged, sy'n dechrau o 0. Mae teyrngedau yn gallu cynnwys unrhyw fath o ddata, gan gynnwys rhifau, llinynnau, a hyd yn oed gwrthrychau.

Creu Teyrnged

I greu teyrnged newydd yn Ruby, gallwch ddefnyddio'r nodwedd '[]' neu'r dull 'Array.new'. Dyma rai enghreifftiau:

# Defnyddio '[]'
teyrnged = [1, 2, 3, 4, 5]

# Defnyddio 'Array.new'
teyrnged = Array.new
teyrnged.push(1)
teyrnged.push(2)
teyrnged.push(3)

Darllen Teyrngedau

Mae darllen eitemau o deyrnged yn syml. Gallwch ddefnyddio'r cyfeirnod i gael gafael ar eitem benodol. Dyma sut i wneud hynny:

teyrnged = [10, 20, 30, 40, 50]

# Darllen yr eitem gyntaf
puts teyrnged[0]  # 10

# Darllen yr eitem olaf
puts teyrnged[-1] # 50

Rheoli Teyrngedau

Mae nifer o ddulliau ar gael i reoli teyrngedau. Dyma rai o'r rhai mwyaf defnyddiol:

  • push: Ychwanegu eitem i'r diwedd o'r teyrnged.
  • pop: Tynnu eitem o'r diwedd o'r teyrnged.
  • shift: Tynnu eitem o'r dechrau o'r teyrnged.
  • unshift: Ychwanegu eitem i'r dechrau o'r teyrnged.
  • length: Dangos hyd y teyrnged.

Enghreifftiau o Reoli Teyrngedau

Dyma rai enghreifftiau o sut i ddefnyddio'r dulliau uchod:

teyrnged = [1, 2, 3]

# Ychwanegu eitem
teyrnged.push(4) # [1, 2, 3, 4]

# Tynnu eitem
teyrnged.pop # [1, 2, 3]

# Tynnu o'r dechrau
teyrnged.shift # [2, 3]

# Ychwanegu i'r dechrau
teyrnged.unshift(1) # [1, 2, 3]

# Dangos hyd
puts teyrnged.length # 3

Chwilio a Ffiltru Teyrngedau

Gallwch chwilio a ffilterio teyrngedau i ddod o hyd i eitemau penodol. Mae Ruby yn cynnig dulliau fel 'select', 'map', a 'find'. Dyma sut i'w defnyddio:

teyrnged = [1, 2, 3, 4, 5]

# Chwilio am eitemau sy'n fwy na 3
filtred = teyrnged.select { |x| x > 3 }
puts filtred.inspect # [4, 5]

# Mapio i greu teyrnged newydd
mapped = teyrnged.map { |x| x * 2 }
puts mapped.inspect # [2, 4, 6, 8, 10]

# Dod o hyd i'r eitem gyntaf sy'n fwy na 3
found = teyrnged.find { |x| x > 3 }
puts found # 4

Trin Teyrngedau gyda Dulliau Uwch

Mae Ruby yn cynnig nifer o ddulliau uwch i drin teyrngedau. Mae'r dulliau hyn yn caniatáu i chi wneud pethau fel grwpio, trefnu, a chymysgu eitemau. Dyma rai enghreifftiau:

Trefnu Teyrngedau

Gallwch drefnu teyrngedau yn seiliedig ar werthoedd. Dyma sut i wneud hynny:

teyrnged = [5, 3, 1, 4, 2]

# Trefnu yn ddirwystr
teyrnged.sort!
puts teyrnged.inspect # [1, 2, 3, 4, 5]

Grwpio Teyrngedau

Gallwch grwpio eitemau yn seiliedig ar ryw nodwedd. Dyma enghraifft o grwpio eitemau yn seiliedig ar eu parau:

teyrnged = [1, 2, 3, 4, 5, 6]

# Grwpio yn seiliedig ar parau
grwp = teyrnged.group_by { |x| x.even? }
puts grwp.inspect # {false=>[1, 3, 5], true=>[2, 4, 6]}

Defnyddio Teyrngedau gyda Gwrthrychau

Gallwch hefyd ddefnyddio teyrngedau i storio gwrthrychau. Mae hyn yn ddefnyddiol pan fyddwch am gadw gwybodaeth am eitemau penodol. Dyma enghraifft:

class Person
  attr_accessor :name, :age

  def initialize(name, age)
    @name = name
    @age = age
  end
end

teyrnged = []
teyrnged.push(Person.new("John", 30))
teyrnged.push(Person.new("Jane", 25))

teyrnged.each do |person|
  puts "#{person.name} yw #{person.age} oed."
end

Casgliad

Mae teyrngedau Ruby yn offeryn pwerus ar gyfer rheoli a storio data. Gyda'r wybodaeth hon, gallwch ddechrau meistroli teyrngedau a'u defnyddio yn eich prosiectau Ruby. Peidiwch ag anghofio ymarfer a phrofi'r dulliau a drafodwyd yn yr erthygl hon. Mae'r byd o deyrngedau Ruby yn llawn cyffro a gall eich helpu i greu cymwysiadau mwy effeithlon a chreadigol. Mwynhewch y broses o ddysgu a meistroli Ruby!

Published: August 13, 2024

© 2024 RailsInsights. All rights reserved.