Prefixes _ and __ for object and class constants proposed

I may have brought this up before, a long time ago, but something I want
is a prefix, like @ and @@, for constants that designates them as object
or class constants respectively. That way I could make a lot of things
constants that I am now just making variables and it would be obvious
that they are constants only available for that context. I really don’t
like the underscore perfectly, but I’ve thought about it and it seems to
be the best choice of available characters. Has anybody every thought
about this (barring my possibly bringing it up two years ago), and does
anyone else think this is a reasonable suggestion? If so, I would think
it would be a small change that could be implemented in parallel with
existing prefix syntax handling.

Sincerely, Xeno C., Tacoma/Seattle programmer.

On Jan 25, 2008, at 1:24 PM, Xeno C. wrote:

seems to
be the best choice of available characters. Has anybody every thought
about this (barring my possibly bringing it up two years ago), and
does
anyone else think this is a reasonable suggestion? If so, I would
think
it would be a small change that could be implemented in parallel with
existing prefix syntax handling.

I’m not sure I’ve ever bumped into the need for an object constant,
but if I had, I’d probably have simply implemented an instance method

class Dave
def initialize(new_pi)
@pi = new_pi
end
def PI
@pi
end
end

d1 = Dave.new(3)
d2 = Dave.new(3.14159)
d3 = Dave.new(22.0/7.0)

puts d1.PI, d2.PI, d3.PI

Dave

On Jan 25, 2008, at 11:24 AM, Xeno C. wrote:

seems to
be the best choice of available characters. Has anybody every thought
about this (barring my possibly bringing it up two years ago), and
does
anyone else think this is a reasonable suggestion? If so, I would
think
it would be a small change that could be implemented in parallel with
existing prefix syntax handling.

In ruby, constants are more like variables that yell at you.

$ ruby
X = 1
X = 2
p X
^D
-:2: warning: already initialized constant X
2