On Saturday, 31 August 2024 at 15:38:49 UTC, ryuukk_ wrote:
Let's see how other languages do it:
```zig
map.put("hello", 42);
// get pointer
if (map.get("hello")) |*it| {
std.log.debug("{}", .{it});
}
// get value
if (map.get("hello")) |it| {
std.log.debug("{}", .{it});
}
```
No imports, no templates, ONE LINER
We don't have `if` callback syntax, but essentially you can do
that:
```d
void main()
{
int[string] test;
test["hello"] = 42;
test.update("hello", () => noreturn.init, (ref int x) {
x++;
});
assert(test["hello"] == 43);
}
```
Omit the `ref` if you want a copy of the value. Annoyingly, the
`int` is required, though maybe just an IFTI bug.