Mae Ruby yn iaith raglennu sy'n adnabyddus am ei symlrwydd a'i harddwch. Un o'r cysyniadau pwysicaf yn Ruby yw'r 'self'. Mae'r 'self' yn cynrychioli'r gwrthrych presennol, sy'n golygu ei fod yn chwarae rôl hanfodol wrth ddelio â methodau a phriodweddau. Yn yr erthygl hon, byddwn yn archwilio'r cysyniad o 'self', ei ddefnyddiau, a rhai enghreifftiau i'w gwneud yn gliriach.
Yn Ruby, mae 'self' yn cynrychioli'r gwrthrych presennol yn y cyd-destun lle mae'n cael ei ddefnyddio. Mae'n gallu bod yn ddefnyddiol mewn sawl sefyllfa, gan gynnwys:
Pan fyddwch yn gweithio gyda gwrthrychau, mae 'self' yn caniatáu i chi gyfeirio at briodweddau a methodau'r gwrthrych presennol. Dyma enghraifft syml:
class Person attr_accessor :name def initialize(name) @name = name end def greet "Helo, fy enw i yw #{self.name}!" end end person = Person.new("Tom") puts person.greet
Yn yr enghraifft hon, rydym yn creu dosbarth o'r enw 'Person' gyda phriodwedd o'r enw 'name'. Mae'r dull 'greet' yn defnyddio 'self' i gyfeirio at y priodwedd 'name' o'r gwrthrych presennol.
Mae 'self' hefyd yn ddefnyddiol mewn methodau statig. Mae methodau statig yn gysylltiedig â'r dosbarth ei hun yn hytrach na gwrthrych penodol. Dyma enghraifft:
class MathOperations def self.add(a, b) a + b end end puts MathOperations.add(5, 3)
Yn yr enghraifft hon, rydym yn creu dosbarth o'r enw 'MathOperations' gyda method statig o'r enw 'add'. Mae 'self' yn caniatáu i ni ddynodi bod y dull hwn yn statig, sy'n golygu y gallwn ei alw yn uniongyrchol ar y dosbarth heb greu gwrthrych.
Gall 'self' hefyd gael ei ddefnyddio i greu methodau a phriodweddau newydd yn y dosbarth. Dyma enghraifft:
class Car attr_accessor :model def initialize(model) @model = model end def self.create(model) new(model) end end car = Car.create("Ford") puts car.model
Yn yr enghraifft hon, rydym yn creu method statig o'r enw 'create' sy'n creu gwrthrych newydd o'r dosbarth 'Car'. Mae 'self' yn ein galluogi i ddynodi bod y dull hwn yn perthyn i'r dosbarth 'Car'.
Mae 'self' hefyd yn chwarae rôl bwysig wrth ddirprwyo methodau. Pan fyddwch yn ddirprwyo dull o un gwrthrych i un arall, mae 'self' yn sicrhau bod y cyfeiriad yn gywir. Dyma enghraifft:
class Employee attr_accessor :name def initialize(name) @name = name end def work "Mae #{self.name} yn gweithio." end end class Manager < Employee def delegate work end end manager = Manager.new("Sarah") puts manager.delegate
Yn yr enghraifft hon, mae 'Manager' yn ddirprwywr o 'Employee'. Pan fyddwn yn galw'r dull 'work' o fewn 'delegate', mae 'self' yn cyfeirio at y gwrthrych 'Manager', gan sicrhau bod y priodwedd 'name' yn gywir.
Mae 'self' hefyd yn ddefnyddiol wrth ddirprwyo priodweddau. Dyma enghraifft:
class Animal attr_accessor :species def initialize(species) @species = species end end class Dog < Animal def initialize(name) super("Ci") @name = name end def info "Mae #{self.name} yn anifail o'r rhywogaeth #{self.species}." end end dog = Dog.new("Rex") puts dog.info
Yn yr enghraifft hon, mae 'Dog' yn ddirprwywr o 'Animal'. Mae 'self' yn ein galluogi i gyfeirio at y priodwedd 'species' o'r gwrthrych 'Dog'.
Mae 'self' yn cysyniad pwysig yn Ruby sy'n caniatáu i ni gyfeirio at y gwrthrych presennol, gan ei gwneud yn hanfodol ar gyfer gweithio gyda methodau, priodweddau, a ddirprwyaeth. Mae deall sut i ddefnyddio 'self' yn gallu gwella eich sgiliau rhaglenni yn Ruby a gwneud eich cod yn fwy clir a chynhwysfawr.
Gobeithio bod yr erthygl hon wedi rhoi gwell dealltwriaeth i chi o'r cysyniad o 'self' yn Ruby a'i ddefnyddiau. Peidiwch ag oedi i archwilio mwy o'r iaith a'i nodweddion, gan y gall Ruby fod yn offeryn pwerus ar gyfer datblygu meddalwedd.
© 2024 RailsInsights. All rights reserved.