LINUX.ORG.RU

Как сделали, что можно и Option::Some(T) и просто Some(T)?

 ,


0

5

Здравствуйте

Почитывал Rust Book Second Edition и в шестой главе возник вопрос, который не удалось победить эксперементами с синтаксисом:

enum Command {
    Go(i64, i64),
    Stop,
}

fn main() {
    let cmd = Command::Go(0, 0);
}

Как сделать, чтобы cmd можно было объявлять и как Command::Go() и просто как Go()? По аналогии с Option::Some() и просто Some()

★★★★★

Последнее исправление: makoven (всего исправлений: 1)

Ответ на: комментарий от makoven

Кстати, use можно использовать и внутри функции:

fn main() {
    use Command::*;
    let cmd = Go(0, 0);
}


Так можно смело использовать звёздочку, не засоряя окружающее пространство имён.

quantum-troll ★★★★★
()
Ответ на: комментарий от quantum-troll

Ого. А вот это надо добавить в свою шпаргалку по rust)

makoven ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.