Bläddra i källkod

Add map_pop to remove the last element from an array-like map.

master
Ian Piumarta 2 år sedan
förälder
incheckning
238cce2151
1 ändrade filer med 9 tillägg och 0 borttagningar
  1. +9
    -0
      src/object.c

+ 9
- 0
src/object.c Visa fil

@ -547,6 +547,15 @@ oop map_append(oop map, oop value)
return map_set(map, makeInteger(map_size(map)), value); return map_set(map, makeInteger(map_size(map)), value);
} }
oop map_pop(oop map)
{ assert(map_isArray(map));
size_t size = get(map, Map, size);
if (size == 0) return null;
oop val = get(map, Map, elements)[--size].value;
set(map, Map, size, size);
return val;
}
oop makeArrayFromElement(oop elem, int repeat) oop makeArrayFromElement(oop elem, int repeat)
{ {
oop array= makeMapCapacity(repeat); oop array= makeMapCapacity(repeat);

Laddar…
Avbryt
Spara