[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Prefixes _ and __ for object and class constants proposed

Xeno Campanoli

1/25/2008 7:25:00 PM

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 Campanoli, Tacoma/Seattle programmer.
--
The only sustainable organizing methods focus not on scale,
but on good design of the functional unit,
not on winning battles, but on preservation.

2 Answers

Dave Thomas

1/25/2008 7:32:00 PM

0


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

> 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.

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

Eric Hodel

1/25/2008 7:53:00 PM

0

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

> 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.


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