builtin: add a map.clear() method (#14373)
parent
1bde8611f0
commit
a91bd5a5bb
|
@ -294,6 +294,14 @@ pub fn (mut m map) move() map {
|
|||
return r
|
||||
}
|
||||
|
||||
// clear clears the map without deallocating the allocated data.
|
||||
// It does it by setting the map length to `0`
|
||||
// Example: a.clear() // `a.len` and `a.key_values.len` is now 0
|
||||
pub fn (mut m map) clear() {
|
||||
m.len = 0
|
||||
m.key_values.len = 0
|
||||
}
|
||||
|
||||
[inline]
|
||||
fn (m &map) key_to_index(pkey voidptr) (u32, u32) {
|
||||
hash := m.hash_fn(pkey)
|
||||
|
|
|
@ -245,6 +245,14 @@ fn test_mut_arg() {
|
|||
assert a == 10
|
||||
}
|
||||
|
||||
fn test_clear() {
|
||||
mut m := map[string]int{}
|
||||
m['one'] = 1
|
||||
m['two'] = 2
|
||||
m.clear()
|
||||
assert m.len == 0
|
||||
}
|
||||
|
||||
fn test_delete() {
|
||||
mut m := map[string]int{}
|
||||
m['one'] = 1
|
||||
|
|
Loading…
Reference in New Issue