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, 18:03:33
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <20250621140333.d1f4d76c0b58a7a65570a365@example.invalid>
References : 1
User-Agent : Sylpheed 3.5.1 (GTK+ 2.24.32; i686-pc-linux-gnu)
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:

% oo::class create C {
    method foo {} { # reads the constant
        classvariable CVar
        puts $CVar
    }
    method bar {} { # tries to set the constant
        classvariable CVar
        set CVar "other value"
    }
}
::C
% namespace eval [info object namespace C] {
    # defines the constant in the class namespace
    const CVar "My class variable"
}
% 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