Я понимаю, что Руста в движении, но я все равно пытаюсь ее изучить. Я пытаюсь понять, как я хотел бы адаптировать следующий пример, который работает с 0.9, в нечто подобное, что работает с 0.10:уникальные векторные шаблоны больше не поддерживаются
fn main() {
let argv = std::os::args();
let (first, last) = match argv {
[_, first_arg, .., last_arg] => (first_arg, last_arg),
_ => fail!("Error: At least two arguments expected.")
};
println!("The first argument was {:s}, \
and the last argument was {:s}.", first, last);
}
Когда я строю это с 0.10, я получаю следующее сообщение об ошибке:
error: couldn't read test.rc: no such file or directory (No such file or directory)
orflongpmacx8:rust pohl_longsine$ rustc test.rs
test.rs:9:9: 9:37 error: unique vector patterns are no longer supported
test.rs:9 [_, first_arg, .., last_arg] => (first_arg, last_arg),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
error: aborting due to previous error
Мой вопрос: возможно ли использовать совпадение шаблонов на argv, но с другим синтаксисом или с помощью оператора соответствия на argv больше невозможно? Если это первое, что мне нужно изменить?
Спасибо за такой ясный и полный ответ. – pohl