1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
use std::str::FromStr;
pub fn chars_to_string(chars: &Vec<char>) -> String {
let vec_str: Vec<String> = chars.iter()
.map(|ref v| v.to_string()).collect();
let result = vec_str.concat();
result
}
pub fn create_vvchar(text: &String) -> Vec<Vec<char>>{
let split_text: Vec<&str> = text.split_whitespace().collect();
let vvchar: Vec<Vec<char>> = split_text.iter()
.map(|&x| x.chars().collect()).collect();
vvchar
}
pub struct Ni8{pub attr: i8}
impl Ni8 {
pub fn new(attr: &Vec<char>) -> Ni8 {
let n = chars_to_string(&attr);
Ni8 {attr: i8::from_str(&n).unwrap()}
}
}
pub struct Nu8{pub attr: u8}
impl Nu8 {
pub fn new(attr: &Vec<char>) -> Nu8 {
let n = chars_to_string(&attr);
Nu8 {attr: u8::from_str(&n).unwrap()}
}
}
pub struct Ni16{pub attr: i16}
impl Ni16 {
pub fn new(attr: &Vec<char>) -> Ni16 {
let n = chars_to_string(&attr);
Ni16 {attr: i16::from_str(&n).unwrap()}
}
}
pub struct Nu16{pub attr: u16}
impl Nu16 {
pub fn new(attr: &Vec<char>) -> Nu16 {
let n = chars_to_string(&attr);
Nu16 {attr: u16::from_str(&n).unwrap()}
}
}
pub struct Ni32{pub attr: i32}
impl Ni32 {
pub fn new(attr: &Vec<char>) -> Ni32 {
let n = chars_to_string(&attr);
Ni32 {attr: i32::from_str(&n).unwrap()}
}
}
pub struct Nu32{pub attr: u32}
impl Nu32 {
pub fn new(attr: &Vec<char>) -> Nu32 {
let n = chars_to_string(&attr);
Nu32 {attr: u32::from_str(&n).unwrap()}
}
}
pub struct Ni64{pub attr: i64}
impl Ni64 {
pub fn new(attr: &Vec<char>) -> Ni64 {
let n = chars_to_string(&attr);
Ni64 {attr: i64::from_str(&n).unwrap()}
}
}
pub struct Nu64{pub attr: u64}
impl Nu64 {
pub fn new(attr: &Vec<char>) -> Nu64 {
let n = chars_to_string(&attr);
Nu64 {attr: u64::from_str(&n).unwrap()}
}
}
pub struct Nisize{pub attr: isize}
impl Nisize {
pub fn new(attr: &Vec<char>) -> Nisize {
let n = chars_to_string(&attr);
Nisize {attr: isize::from_str(&n).unwrap()}
}
}
pub struct Nusize{pub attr: usize}
impl Nusize {
pub fn new(attr: &Vec<char>) -> Nusize {
let n = chars_to_string(&attr);
Nusize {attr: usize::from_str(&n).unwrap()}
}
}
pub struct Literal{pub attr: String}
impl Literal {
pub fn new(attr: &Vec<char>) -> Literal {
Literal {attr: chars_to_string(&attr)}
}
}