Let's look at the following example:
class NewDog def initialize(breed) @breed = breed end # create reader only attr_reader :breed, :name # setter method def set_name(nm) @name = nm end end nd = NewDog.new('Doberman') nd.set_name('Benzy') puts nd.name
If you reorganize the setter method to this:
def name=(nm) @name = nm end
other programmers know that the name = method behaves like a setter method. Like show by @maerics, it behaves like a virtual attribute.
The result is as follows:
class NewDog def initialize(breed) @breed = breed end # create reader only attr_reader :breed, :name # setter method def name=(nm) @name = nm end end nd = NewDog.new('Doberman') nd.name = 'Benzy' puts nd.name
Peter Piper Nov 22 '16 at 10:11 2016-11-22 10:11
source share