assocs.extras: Add a word set-once-at that throws if the key is already set.
parent
1aa8a432c7
commit
10cb7e12c1
|
@ -44,3 +44,11 @@ GENERIC: delete-value-at ( value assoc -- )
|
||||||
|
|
||||||
M: assoc delete-value-at
|
M: assoc delete-value-at
|
||||||
[ value-at* ] keep swap [ delete-at ] [ 2drop ] if ;
|
[ value-at* ] keep swap [ delete-at ] [ 2drop ] if ;
|
||||||
|
|
||||||
|
ERROR: key-exists value key assoc ;
|
||||||
|
: set-once-at ( value key assoc -- )
|
||||||
|
2dup ?at [
|
||||||
|
key-exists
|
||||||
|
] [
|
||||||
|
drop set-at
|
||||||
|
] if ;
|
Loading…
Reference in New Issue