Not really.

You can use ClassVariables though. Here's an example for Sets:

Object subclass: #MyClass
instanceVariableNames: ''
classVariableNames: 'MyClassVar'
package: 'MyPackage'

MyClass class>>initialize
    super initialize.
    MyClassVar := Set new.

MyClass>>foo
    self bar: MyClassVar

Obviously sets are not as easy to deal with. You cannot mutate empty
arrays/bytearrays, if you concatenate something it creates a new object.
You can add things in sets. So you need to be careful... You can make the
object read-only to avoid issues (MyClassVar beReadOnlyObject).



On Fri, Apr 27, 2018 at 3:19 PM, Debiller 777 <ozovozovozo...@gmail.com>
wrote:

> You know, literals are quite useful in case when you want to shorten some
> object initialization. For example #() and {} for arrays and $[]for byte
> arrays. However, if there is a way to add custom literals, for example for
> sets (something like #{} I guess)? how to do it? and can some special kind
> of objects for creating literals easily be added to Pharo?
>



-- 
Clément Béra
https://clementbera.github.io/
https://clementbera.wordpress.com/

Reply via email to