Мое намерение состоит в том, чтобы соответствовать значению каждой строки в текстовом файле.Если значение соответствует строке, соответствующий код операции должен быть помещен в вектор.В противном случае я хочу добавить само значение в вектор.Само значение нельзя использовать, потому что оно принадлежит другой области.
Исправьте, если я ошибаюсь, но я не могу скопировать или клонировать значение line
, потому что оно не реализует правильные черты.Как лучше всего заимствовать значение в операторе сопоставления, а затем использовать его в качестве значения по умолчанию (_
), если оно не соответствует ни одной строке?
let buffered = BufReader::new(input);
for line in buffered.lines() {
match line.unwrap().as_ref() {
"nop" => instructions.push(0x00),
"push" => instructions.push(0x01),
"print" => instructions.push(0x02),
"add" => instructions.push(0x03),
"halt" => instructions.push(0xff),
_ => instructions.push(line.unwrap().as_bytes()[0]),
}
}