The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Релиз языка программирования PHP 8.1, opennews (?), 25-Ноя-21, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


46. "Релиз языка программирования PHP 8.1"  +1 +/
Сообщение от Твайлайт Спаркл (?), 26-Ноя-21, 06:10 
#[allow(dead_code)]
enum Status {
    Draft,
    Published,
    Archived,
}

impl Status {
    #[must_use]
    pub fn color(&self) -> &'static str {
        match self {
            Self::Draft => "grey",
            Self::Published => "green",
            Self::Archived => "red",
        }
    }
}

fn main() {
    let status = Status::Archived;
    println!("{}", status.color());  // 'red'
}

Ответить | Правка | Наверх | Cообщить модератору

66. "Релиз языка программирования PHP 8.1"  +2 +/
Сообщение от anonymous (??), 26-Ноя-21, 11:17 
А зачем нужны "allow(dead_code)" и "must_use"? Выглядит как какая-то ненужная магия.
Ответить | Правка | Наверх | Cообщить модератору

83. "Релиз языка программирования PHP 8.1"  –3 +/
Сообщение от Аноним (78), 26-Ноя-21, 12:04 
Дак растаманы! же писали! В здравом уме такое! не придумать!
Ответить | Правка | Наверх | Cообщить модератору

153. "Релиз языка программирования PHP 8.1"  +/
Сообщение от anonymous (??), 27-Ноя-21, 11:34 
Лично меня вполне устраивает объяснение ниже.
Ответить | Правка | Наверх | Cообщить модератору

85. "Релиз языка программирования PHP 8.1"  +3 +/
Сообщение от Твайлайт Спаркл (ok), 26-Ноя-21, 12:28 
> А зачем нужны "allow(dead_code)" и "must_use"? Выглядит как какая-то ненужная магия.

allow(dead_code) действительно не нужен, он заглушает предупреждения, что не все варианты enum'a используются.

А вот must_use довольно крут. Он добавляет предупреждение на такой код:
status.color();
То есть возвращаемое значение должно быть использовано (как минимум присвоено в переменную).
let _ = status.color();

Ответить | Правка | К родителю #66 | Наверх | Cообщить модератору

138. "Релиз языка программирования PHP 8.1"  +/
Сообщение от anonymous (??), 27-Ноя-21, 01:27 
Понятно. Makes sense.
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру