My very first rust question. Searched large and far but haven't found the answer yet.
pub fn open(&mut self, row: usize, col: usize) {
let n = self.n; // first question, I had to use this, I couldn't just use self.n as matching expression...
// ... a bit more stuff here
match row {
1 => {
do_up = false;
self.union(self.cell(row, col), 0)
}
n => {
println!("this");
do_down = false;
self.union(self.cell(row, col), self.n)
}
_ => {}
}
}
In my app, row
can have different values from 1 to n
. The result I am getting is that all other rows than 1 enter the n
option.
What I want is that the option 1 code only runs when row is indeed 1, and the n
option only when it's indeed n
(e.g. if n
is 5, then only match row == 5
), and all the other values for row
just get skipped.
Also, bonus question, if I put self.n
directly as an option, then rustc
complains. I had to introduce let n = self.n
for it to compile. My intuition tells me that the actual reason why it's not working as intended is related to just that...