Есть ли способ преобразования структуры в кортеж? - PullRequest
0 голосов
/ 07 ноября 2018

Учитывая что-то вроде этого:

struct Example {
    a: i32,
    b: String,
}

Есть ли какой-нибудь встроенный метод или любая черта, которую я могу реализовать, которая позволит мне получить кортеж (i32, String)?

1 Ответ

0 голосов
/ 07 ноября 2018

Есть ли способ преобразования структуры в кортеж

Да.

любой встроенный метод или любая черта, которую я могу реализовать

Не совсем.


Я бы реализовал From, что очень обобщенно:

impl From<Example> for (i32, String) {
    fn from(e: Example) -> (i32, String) {
        let Example { a, b } = e;
        (a, b)
    }
}

Вы бы использовали это так:

let tuple = <(i32, String)>::from(example);
let tuple: (i32, String) = example.into();

Смотри также:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...