module jyunth_addr::VectorOne { use std::vector; use std::debug::print; use std::string::utf8; fun vector_basics(): vector<u64> { let list = vector::empty<u64>(); vector::push_back(&mut list, 10); vector::push_back(&mut list, 20); vector::insert(&mut list, 2, 30); vector::insert(&mut list, 3, 50); vector::insert(&mut list, 4, 40); vector::swap(&mut list, 1, 0); let value = *vector::borrow(&mut list, 2); value = value + 10; vector::insert(&mut list, 2, value); // removing elements vector::remove(&mut list, 3); // return and remove the last element (basically the pop function in python) let value2 = vector::pop_back(&mut list); print(&value2); list } fun update_element(element: &mut u64){ let value = *element + 1; print(&value); } fun for_each_vector(list:vector<u64>){ print(&utf8(b"For Each Mutable")); vector::for_each_mut(&mut list, |list| update_element(list)); } fun vector_while_loop(list: vector<u64>): vector<u64> { let length = vector::length(&list); let i = 0; while (i < length) { let value = vector::borrow(&list, i); print(value); i = i + 1; }; list } #[test] fun test_function(){ let list = vector_basics(); print(&list); let checker = vector::contains(&mut list, &10); print(&checker); print(&utf8(b"While Loop")); let listu = vector_while_loop(list); for_each_vector(list); }}