瀏覽代碼

Fix map_zip to fill with either key numbers or null values

pull/13/head
mtardy 4 年之前
父節點
當前提交
37a048a8e7
共有 1 個文件被更改,包括 6 次插入3 次删除
  1. +6
    -3
      parse.leg

+ 6
- 3
parse.leg 查看文件

@ -851,14 +851,17 @@ SQUOTE = "'"
%%
;
oop map_zip(oop keys, oop values)
{
assert(is(Map, keys));
assert(is(Map, values));
oop map= makeMap();
for (int i= 0; map_hasIntegerKey(keys, i) && map_hasIntegerKey(values, i); ++i) {
oop key = get(keys, Map, elements)[i].value;
oop value = get(values, Map, elements)[i].value;
size_t sk= map_size(keys), sv= map_size(values);
if (sk < sv) sk= sv;
for (size_t i= 0; i < sk; ++i) {
oop key = i < sk && map_hasIntegerKey(keys, i) ? get(keys, Map, elements)[i].value : makeInteger(i);
oop value = i < sv && map_hasIntegerKey(values, i) ? get(values, Map, elements)[i].value : null;
map_set(map, key, value);
}
return map;

Loading…
取消
儲存