From: brady@... Date: 2016-05-02T14:51:51+00:00 Subject: [ruby-core:75309] [Ruby trunk Feature#12334] Final/Readonly Support for Fields / Instance Variables Issue #12334 has been updated by Brady Wied. Maybe leaving it to the developer or design/code reviewing is the best way. I do think there is something to the idea of controlled mutation though. It's a good middle ground between what the functional language people are pushing for (total immutability everywhere) and a more wide open setup. ---------------------------------------- Feature #12334: Final/Readonly Support for Fields / Instance Variables https://bugs.ruby-lang.org/issues/12334#change-58436 * Author: Brady Wied * Status: Open * Priority: Normal * Assignee: ---------------------------------------- This sort of relates to https://bugs.ruby-lang.org/issues/11911 C# through 'readonly' and Java through 'final' variables/fields allow me to only allow assigning a field in the initializer. It might be nice to embrace some controlled mutation by having this feature in Ruby. Sometimes its tempting in other methods to reassign a field but you really want to control that from the initializer. Freezing targets a different problem by controlling what I can mutate within that field's object. The two can compliment each other but I see them as each solving a different problem. I know it's possible to freeze an entire instance of a class and not allow reassigning the field that way, but then I'm in an all or none situation where I can't have controlled mutation. -- https://bugs.ruby-lang.org/ Unsubscribe: