Re: Are class consts possible?

Liste des GroupesRevenir à cl tcl 
Sujet : Re: Are class consts possible?
De : emiliano (at) *nospam* example.invalid (Emiliano)
Groupes : comp.lang.tcl
Date : 21. Jun 2025, 22:16:15
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <20250621181615.654ec599781f56e03304bb35@example.invalid>
References : 1 2
User-Agent : Sylpheed 3.5.1 (GTK+ 2.24.32; i686-pc-linux-gnu)
On Sat, 21 Jun 2025 14:03:33 -0300
Emiliano <emiliano@example.invalid> wrote:

On Fri, 20 Jun 2025 07:58:37 -0000 (UTC)
Mark Summerfield <m.n.summerfield@gmail.com> wrote:
 
Is it possible to create class-specific consts i.e., consts that exist
inside a class's namespace?
 
For example, this does _not_ work:
 
```
 
    oo::class create Klass {
        const SPECIAL special
 
        method say {} { return $SPECIAL }
    }
 
    set klass [Klass new]
    puts "$Klass::SPECIAL [$klass say]"
 
```
 
Maybe there are more straightforward methods, but this one works:

Answering myself:

% oo::class create C {
    initialize {
        variable CVar
        const CVar "My class variable"
    }
    method foo {} { # reads the constant
        classvariable CVar
        puts $CVar
    }
    method bar {} { # tries to set the constant
        classvariable CVar
        set CVar "other value"
    }
}
::C
% C create o
::o
% o foo
My class variable
% o bar
can't set "CVar": variable is a constant


Regards
--
Emiliano

Date Sujet#  Auteur
20 Jun 25 * Are class consts possible?7Mark Summerfield
20 Jun 25 +* Re: Are class consts possible?4Rich
20 Jun 25 i`* Re: Are class consts possible?3Mark Summerfield
20 Jun 25 i `* Re: Are class consts possible?2Rich
21 Jun 25 i  `- Re: Are class consts possible?1Mark Summerfield
21 Jun 25 `* Re: Are class consts possible?2Emiliano
21 Jun 25  `- Re: Are class consts possible?1Emiliano

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal