Rand Stats

ValueMap

zef:lizmat

Actions Status Actions Status Actions Status

NAME

ValueMap - Provide an immutable Map value type

SYNOPSIS

use ValueMap;

my %vm is ValueMap = foo => 42, bar => 666, baz => 137;

my $vm := ValueMap.new( (foo => 42, bar => 666, baz => 137) );

my %s is Set = $vm, %vm;
say %s.elems;  # 1

DESCRIPTION

Raku provides a semi-immutable Associative datatype: Map. A Map can not have any elements added or removed from it. However, since a Map can contain containers of which the value can be changed, it is not a value type. So you cannot use Maps in data structures such as Sets, because each Map is considered to be different from any other List, because they are not value types.

AUTHOR

Elizabeth Mattijsen liz@raku.rocks

Source can be located at: https://github.com/lizmat/ValueMap . Comments and Pull Requests are welcome.

If you like this module, or what I’m doing more generally, committing to a small sponsorship would mean a great deal to me!

COPYRIGHT AND LICENSE

Copyright 2022, 2024 Elizabeth Mattijsen

This library is free software; you can redistribute it and/or modify it under the Artistic License 2.0.