v/vlib/v/tests/for_in_mut_val_test.v

52 lines
789 B
V

fn foo1(mut arr []int) {
for _, mut j in arr {
j *= 2
}
}
fn test_for_in_mut_val_of_array() {
mut arr := [1, 2, 3]
foo1(mut arr)
println(arr)
assert arr == [2, 4, 6]
}
fn foo2(mut arr [3]int) {
for _, mut j in arr {
j *= 2
}
}
fn test_for_in_mut_val_of_fixed_array() {
mut arr := [1,2,3]!
foo2(mut arr)
println(arr)
assert arr == [2, 4, 6]!
}
fn foo3(mut m map[string][3]int){
for i in 0..m['hello'].len {
m['hello'][i] *= 2
}
}
fn test_fn_mut_val_of_map() {
mut m := {'hello': [1,2,3]!}
foo3(mut m)
println(m)
assert '$m' == "{'hello': [2, 4, 6]}"
}
fn foo4(mut m map[string][3]int){
for _, mut j in m['hello'] {
j *= 2
}
}
fn test_for_in_mut_val_of_map() {
mut m := {'hello':[1,2,3]!}
foo4(mut m)
println(m)
assert '$m' == "{'hello': [2, 4, 6]}"
}