- プログラミング言語 Rust
303 :デフォルトの名無しさん[sage]:2015/06/11(木) 18:40:49.25 ID:JhAQPJZl - >>302
なるほどRefCellを使えばある程度は解決しそう ちょっと強引かもしれないけどこんな使い方も出来た // これはエラー(配列やスライスは同時に1つの要素しかmutable参照が作れない) let mut array = [ 0, 1 ]; std::mem::swap(&mut array[0], &mut array[1]); // これならOK let array = [ std::cell::RefCell::new(0), std::cell::RefCell::new(1) ]; std::mem::swap(&mut *array[0].borrow_mut(), &mut *array[1].borrow_mut());
|