RustでTupleの要素の書き換えと取り出し

フィールド名で扱う

let mut tuple = (1, 2);

assert_eq!(tuple.0, 1);
assert_eq!(tuple.1, 2);

tuple.0 += 1;
tuple.1 += 2;

assert_eq!(tuple.0, 2);
assert_eq!(tuple.1, 4);

パターンマッチで扱う

let tuple = (1, 2);

let (mut a, mut b) = tuple;

assert_eq!(a, 1);
assert_eq!(b, 2);

a += 1;
b += 2;

assert_eq!(a, 2);
assert_eq!(b, 4);

なんとなくはめていたつもりだったが、これをパターンマッチと呼ぶのかと関心した。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA