🦁
0022-Cell
structのメンバーの値にアクセスする
Cellは即値でCellが覆う値はCopyが必要
use std::cell::Cell;
#[derive(Debug)]
pub struct SomeStruct {
some_field: Cell<i32>,
imutalbe_field: String
}
fn main() {
let a = SomeStruct {
some_field: Cell::new(1),
imutalbe_field: String::from("hello")
};
a.some_field.set(3);
println!("{:?}", a);
println!("{}", a.some_field.get());
println!("{}", a.imutalbe_field);
assert_eq!(3, a.some_field.replace(100));
assert_eq!(100, a.some_field.get());
let v = a.some_field.into_inner();
assert_eq!(100, v);
}
Discussion