kipalog.com kipalog.com

Xử lý errors ở Rust thế nào ?

Type Result Type trên dùng để làm gì? Result được dùng cho những trường hợp chúng ta muốn return lại một giá trị nào đó (Ok) hoặc propagating errors (Err). Ví dụ fn parse(input: String) -> Result(i32, String) { Err("parse error".to_string()) } Trong những ví dụ ví dụ tiếp theo mình sẽ dùng type String để cho đơn giản, thay vì phải dùng &str nó dính tới...

kipalog.com kipalog.com

Quick implement iterator Rust

Nếu chúng ta có API đơn giản như get response headers từ website amazon.com làm sao chúng ta có thể dùng sugar systax giống như: for key, value in response.headers { println!("({}, {})", key, value); } Để làm được việc đó đơn giản nhất ở Rust là bạn sẽ implement lại trait std::iter::Iterator Với required methods: fn next(&mut self) -> Option<Self::Item> {} Khai...

kipalog.com kipalog.com

Ownership, References, Borrowing and Lifetimes in Rust

1. Ownership Ownership là gì ? Nếu tôi có một quyển sách và tôi quyết định cho bạn quyển sách, vậy là quyền sở hữu quyển sách đó tôi đã trao cho bạn, nếu sau này muốn dùng lại thì có được không ? Điều đó phụ thuộc vào chủ nhân của nó. fn foo() { let v = vec![1, 2, 3]; } Xét hàm foo trên, khi biến v vào trong scope thì một vector...

kipalog.com kipalog.com

Rust: Fix lỗi cannot move out of borrowing errors in Rust

Ví dụ chương trình: fn main() { let name = "Kipalog ".to_string(); let trimmed_name = name.trim(); let owned_name = name; } Khi compile nó sẽ xảy rã lỗi error: cannot move out of `name` because it is borrowed [E0505] hiểu đơn giản thì lúc này biến trimmed_name borrow biến name để thực hiện hàm trim, nếu Rust cho phép việc này thì luc này sẽ xảy ra tình trạng biến...

kipalog.com kipalog.com

Một số ghi chú về HTML-CSS

1. Pseudo-class selectors Các thao tác với link để phân biệt 1 link đã được xem hay chưa xem. selector:pseudo-class_selector { property: value; } Thao tác với link hover Được viết sau dấu : tại file css Tác dụng: khi mà con trỏ chuột trỏ vào link thì thuộc tính của link sẽ thay đổi như định nghĩa. VD: a:hover { color: #cc0000; font-weight: bold; ...