Есть ли возможность помещать имена по умолчанию в кортежи для лучшего завершения кода и предложений? - PullRequest
0 голосов
/ 26 февраля 2019

Есть ли возможность помещать имена по умолчанию в кортежи для лучшего завершения кода и предложений?Имена не будут обязательными, просто подсказка.

Что-то вроде:

struct Rect(width: i32, height: i32);

let r: Rect = (1, 2);
let (a, b) = r; // names while destructuring can be anything

1 Ответ

0 голосов
/ 26 февраля 2019

Существует три способа определения структуры ( Книга Глава 5 ).

  1. Объявление пустой (нулевой) структуры
    struct Foo;
    
  2. Объявление структуры кортежа
    struct Bar(i32, u32, String);
    
  3. Объявление структуры с именованными полями
    struct Baz {
        first: i32,
        second: u32,
        third: String,
    }
    

Другого пути нет.

Деструктурирование работает для всех трех вариантов.

let a = Foo;
let Bar(f, s, t) = Bar(3, 5, String::from("Hallo"));
let Baz { first, second, third } = Baz { first: 3, second: 5, third: String::from("Hello") };

( Детская площадка )

...