1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
pub struct StrLikePy {
    string_data:String,
}
// 次にString型に直にPythonLikeSliceを実装
impl StrLikePy {
    pub fn new(str_data:&str) -> Self {
        Self { string_data:str_data.to_string() }
    }

    // pythonで言うdata[0..5]に近いやり方を定義
    pub fn slice(&self,from:usize,to:usize) -> String {
    
        let mut slice_string = String::from("");
    
        for (i, c )in self.string_data.chars().enumerate(){
            if from <= i && i < to {
                slice_string.push(c);
            }
        }

        slice_string
    }
}