class MyObj
attr_accessor :name
private :name=
def initialize(myname)
self.name = myname
end
# more stuff using name or self.name instead of @name
end
Usually there would be raw references to "@name" all over the place. In perl, references to $self->{"name"} are typically considered bad style. If code inside and outside the class uses different means for accessing the fields, there is more danger of typos.
But my main point was about the danger of declare-on-assignment, like this:
axxx = 1
if (rare_condition_I_forgot_to_test)
axx = 2
end
print axxx,"\n"
If "axx" was meant to be "axxx" there is no error message and the program does not always work as intended. |