Mae Ruby yn iaith raglennu sy'n adnabyddus am ei symlrwydd a'i harddwch. Un o'r nodweddion defnyddiol sydd gan Ruby yw'r dull uniq, sy'n caniatáu i chi ddileu eitemau dyblyg o gatalog. Yn yr erthygl hon, byddwn yn archwilio sut i ddefnyddio'r dull uniq, a'r ffordd y gallai hwn fod o gymorth i chi yn eich datblygiad.
Mae'r dull uniq yn rhan o'r clasau Array a Enumerable yn Ruby. Mae'n caniatáu i chi gael rhestr o eitemau heb unrhyw ddibyniaethau, gan ei gwneud yn hawdd i chi weithio gyda data heb ddibyniaethau. Mae'n arbennig o ddefnyddiol pan fyddwch yn gweithio gyda data a allai gynnwys eitemau dyblyg, fel rhestrau o enwau, rhifau, neu unrhyw ddata arall.
Mae defnyddio'r dull uniq yn syml. Mae'n cymryd un rhestr fel ei dymuniad a dychwelyd rhestr newydd heb unrhyw ddibyniaethau. Dyma enghraifft sylfaenol:
# Creu rhestr gyda dyblygiadau rhestr = [1, 2, 2, 3, 4, 4, 5] # Defnyddio'r dull uniq unig_rhestr = rhestr.uniq puts unig_rhestr.inspect
Yn yr enghraifft hon, rydym wedi creu rhestr o rifau sy'n cynnwys dyblygiadau. Pan ddefnyddiwn uniq, byddwn yn derbyn rhestr newydd sy'n cynnwys dim ond y rhifau unigryw:
# Canlyniad # => [1, 2, 3, 4, 5]
Gallwch hefyd ddefnyddio uniq gyda chasgliadau mwy cymhleth, fel cyfeiriadau. Dyma enghraifft o sut i ddefnyddio uniq gyda chasgliad o gyfeiriadau:
# Creu rhestr o gyfeiriadau
cyfeiriadau = [
{ 'enw' => 'Tom', 'oed' => 25 },
{ 'enw' => 'Jerry', 'oed' => 30 },
{ 'enw' => 'Tom', 'oed' => 25 },
{ 'enw' => 'Spike', 'oed' => 35 }
]
# Defnyddio'r dull uniq gyda cyfeiriadau
unig_cyfeiriadau = cyfeiriadau.uniq { |cyfeiriad| cyfeiriad['enw'] }
puts unig_cyfeiriadau.inspect
Yn yr enghraifft hon, rydym yn defnyddio uniq gyda phob cyfeiriad yn y rhestr. Mae'r dull yn cymryd bloc, sy'n caniatáu i ni ddiffinio sut i ddiffinio dyblygiadau. Yn y fan yma, rydym yn defnyddio'r 'enw' fel y nodyn i ddiffinio dyblygiadau:
# Canlyniad
# => [{"enw"=>"Tom", "oed"=>25}, {"enw"=>"Jerry", "oed"=>30}, {"enw"=>"Spike", "oed"=>35}]
Gallwch hefyd ddefnyddio uniq gyda chyfuniadau. Dyma enghraifft o sut i wneud hyn:
# Creu rhestr o gyfeiriadau gyda chyfuniadau
cyfeiriadau = [
{ 'enw' => 'Tom', 'oed' => 25 },
{ 'enw' => 'Jerry', 'oed' => 30 },
{ 'enw' => 'Tom', 'oed' => 30 },
{ 'enw' => 'Spike', 'oed' => 35 }
]
# Defnyddio'r dull uniq gyda chyfuniadau
unig_cyfeiriadau = cyfeiriadau.uniq { |cyfeiriad| [cyfeiriad['enw'], cyfeiriad['oed']] }
puts unig_cyfeiriadau.inspect
Yn yr enghraifft hon, rydym yn defnyddio uniq gyda chyfuniad o'r 'enw' a'r 'oed'. Mae hyn yn caniatáu i ni ddiffinio dyblygiadau yn seiliedig ar ddau nodyn:
# Canlyniad
# => [{"enw"=>"Tom", "oed"=>25}, {"enw"=>"Jerry", "oed"=>30}, {"enw"=>"Tom", "oed"=>30}, {"enw"=>"Spike", "oed"=>35}]
Mae uniq hefyd yn gweithio'n dda gyda rhestrau o stringiau. Dyma enghraifft:
# Creu rhestr o stringiau stringiau = ["caws", "bara", "caws", "cwrw", "bara"] # Defnyddio'r dull uniq unig_stringiau = stringiau.uniq puts unig_stringiau.inspect
Yn yr enghraifft hon, rydym yn defnyddio uniq i ddileu dyblygiadau o'r rhestr o stringiau:
# Canlyniad # => ["caws", "bara", "cwrw"]
Gallwch hefyd ddefnyddio uniq gyda chyfuniadau a chasgliadau. Dyma enghraifft:
# Creu rhestr o gyfeiriadau gyda chyfuniadau
cyfeiriadau = [
{ 'enw' => 'Tom', 'oed' => 25 },
{ 'enw' => 'Jerry', 'oed' => 30 },
{ 'enw' => 'Tom', 'oed' => 25 },
{ 'enw' => 'Spike', 'oed' => 35 }
]
# Defnyddio'r dull uniq gyda chyfuniadau
unig_cyfeiriadau = cyfeiriadau.uniq { |cyfeiriad| [cyfeiriad['enw'], cyfeiriad['oed']] }
puts unig_cyfeiriadau.inspect
Mae'r dull uniq yn ddefnyddiol iawn pan fyddwch yn gweithio gyda data a allai gynnwys dyblygiadau. Mae'n caniatáu i chi gael rhestr o eitemau unigryw, sy'n gwneud eich gwaith yn haws.
Mae'r dull uniq yn Ruby yn offeryn pwerus ar gyfer rheoli data. Mae'n caniatáu i chi ddileu dyblygiadau yn hawdd, gan ei gwneud yn ddelfrydol ar gyfer unrhyw ddatblygwr sy'n gweithio gyda rhestrau o ddata. Trwy ddefnyddio uniq, gallwch sicrhau bod eich data yn glir ac yn hawdd i'w defnyddio.
Gobeithio bod yr erthygl hon wedi rhoi gwybodaeth ddefnyddiol i chi am ddefnyddio'r dull uniq yn Ruby. Peidiwch ag oedi i archwilio mwy o nodweddion Ruby a gweld sut y gallant wella eich datblygiad.
© 2024 RailsInsights. All rights reserved.