use std::collections::HashMap;
use std::ops::Index;
#[derive(Debug,Clone)]
struct Cell{
name:String
}
type Col = HashMap<String, Vec<Cell>>;
#[derive(Debug,Clone)]
struct DF{
columns: Vec<Col>
}
impl Index<&str> for DF{
type Output = i32;
fn index(&self, c:&str)->&i32 {
println!("索引字符是: {}", &c);
&2_i32
}
}
fn main() {
let mut a = HashMap::new();
a.insert(String::from("A"), vec![Cell{name:String::from("A1")}, Cell{name:String::from("A2")}]);
let mut b = HashMap::new();
b.insert(String::from("B"), vec![Cell{name:String::from("B1")}, Cell{name:String::from("B2")}]);
let df = DF{ columns:vec![a, b]};
println!("{:?}", df["C"]);
}