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.