main/
main.rs

1use std::fs;
2
3use bincode::serialize;
4use hex_matrix::matrix::{Line, Matrix};
5use serde::{Deserialize, Serialize};
6
7#[derive(Serialize, Deserialize, Debug)]
8struct Test {
9    a: u64,
10    b: String,
11}
12
13fn main() {
14    // serialized string
15    println!("-------------------------------- serialized string --------------------------------");
16    let arr = "JOQWEJREOJOQWEJREOIQIWJEORIJOQWEJREOIQIWJEORIJOQWEJREOI
17    QIWJEORIJOQWEJREOIQIJOQWEJREOJOQWEJREOIQIWJEORIJOQWEJREOIQIWJEORIJOQWEJREOI
18    QIWJEORIJOQWEJREOIQIWJEORIJvQIWJQIWJEORIJOQWEJREOIQIWJEORIJvvOQWEJREOJOQWEJREOIQIWJEORIJOQWEJREOIQIWJE ".as_bytes();
19    let mut m = Matrix::new(20, arr.to_vec());
20    m.print_matrix();
21    // serialized struct
22    println!("-------------------------------- serialized struct --------------------------------");
23    let t = Test {
24        a: 1,
25        b: String::from("test"),
26    };
27    let encoded: Vec<u8> = serialize(&t).unwrap();
28    let mut m = Matrix::new(20, encoded.to_vec());
29    m.print_matrix();
30    // serialized file
31    println!("-------------------------------- serialized file --------------------------------");
32    let buffer = fs::read("/resource/TEST_1").expect("read file error");
33    let mut m = Matrix::new(20, buffer.to_vec());
34    m.print_matrix();
35    println!(
36        "-------------------------------- line by line processing --------------------------------"
37    );
38    let lines = m.lines();
39    for (i, v) in lines.iter().enumerate() {
40        println!(
41            "line no:{}, line hex:{}, line info:{}",
42            v.no(),
43            v.hex(),
44            v.info()
45        );
46    }
47}