1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

array: fix array of multi filter/map in one assignment (fix #7858) (#7976)

This commit is contained in:
yuyi
2021-01-11 04:08:45 +08:00
committed by GitHub
parent c1b1ec9005
commit 39bb6f0491
2 changed files with 57 additions and 4 deletions

View File

@ -1310,3 +1310,30 @@ fn test_multi_fixed_array_init() {
a := [3][3]int{}
assert '$a' == '[[0, 0, 0], [0, 0, 0], [0, 0, 0]]'
}
struct Numbers {
odds []int
evens []int
}
fn test_array_of_multi_filter() {
arr := [1, 2, 3, 4, 5]
nums := Numbers{
odds: arr.filter(it % 2 == 1)
evens: arr.filter(it % 2 == 0)
}
println(nums)
assert nums.odds == [1, 3, 5]
assert nums.evens == [2, 4]
}
fn test_array_of_multi_map() {
arr := [1, 3, 5]
nums := Numbers{
odds: arr.map(it + 2)
evens: arr.map(it * 2)
}
println(nums)
assert nums.odds == [3, 5, 7]
assert nums.evens == [2, 6, 10]
}