Which is better practice; manipulating properties with accessors by @property or self.property?
views:
29answers:
1
+1
A:
If you are just using straight accessors, then stick to @property (unless you come from Python and are turned off by the @ sigil hehe) otherwise:
It's entirely up to you. But self.property can be useful in some circumstances where you need to ensure the property is initially set up:
def property
@property ||= []
end
# don't need to check if @property is `nil` first
self.property << "hello"
Also beware that there is a slight overhead to using self.property over @property as self.property is a method call.
NOTE: The reason i'm using self.property over just property is because the corresponding setter method property= requires an explicit receiver: self.property=, so I choose to use the explicit receiver with both.
banister
2010-09-26 13:15:20