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.