From 5943f79d419aa97503eca9a764cdddfab146b6f6 Mon Sep 17 00:00:00 2001 From: Vinicius Silva Date: Wed, 27 Dec 2023 20:36:32 -0300 Subject: [PATCH] Implemented more code on multidimensional.v file --- 07_collections/multidimensional.v | 46 +++++++++++++++++++++++++++---- 1 file changed, 41 insertions(+), 5 deletions(-) diff --git a/07_collections/multidimensional.v b/07_collections/multidimensional.v index 3f85c0d..19ea7cc 100644 --- a/07_collections/multidimensional.v +++ b/07_collections/multidimensional.v @@ -30,14 +30,50 @@ pub fn main() println(upper) upper_fn := words.map(fn (w string) string{ - return w.upper() + return w.to_upper() }) println(upper_fn) nums2 := [1,2,3] - println(num2.any(it == 2)) - println(num2.all(it >= 2)) + println(nums2.any(it == 2)) + println(nums2.all(it >= 2)) + + mut numbers1 := [1,2,3] + numbers1.sort() + numbers1.sort(a > b) + + + mut users := [User{21, 'Bob'}, User{65, 'Zarkon'}, User{25, 'Alice'}] + users.sort(a.age < b.age) + users.sort(a.name > b.name) + + custom_sort_fn := fn(a &User, b &User) int + { + if a.name == b.name { + if a.age < b.age { + return 1 + } + if a.age > b.age { + return -1 + } + + return 0 + } + if a.name < b.name { + return -1 + }else{ + return 1 + } + + return 0 + } + + users.sort_with_compare(custom_sort_fn) +} + +struct User{ + age int + name string +} - -} \ No newline at end of file