The OpenNET Project / Index page

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



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

Оглавление

Выпуск языка программирования Rust 1.57, opennews (??), 02-Дек-21, (0) [смотреть все]

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


27. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (27), 02-Дек-21, 23:46 
Там еще большую магию творить можно, на самом деле
Ответить | Правка | Наверх | Cообщить модератору

34. "Выпуск языка программирования Rust 1.57"  +5 +/
Сообщение от Аноним (34), 03-Дек-21, 00:14 
Можно. Но для банальнейших ассертов и не нужно.
Ответить | Правка | Наверх | Cообщить модератору

36. "Выпуск языка программирования Rust 1.57"  +2 +/
Сообщение от Аноним (36), 03-Дек-21, 00:17 
В Rust тоже можно можно обернуть эту магию в макрос и назавть его static_assert!(). Мб в std рано или поздно так и сделают, но здесь не уверен.

А вообще, ничего сильно страшного в коде не происходит: всего лишь объявили неиспользуемую константу _ пустого типа ().

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

90. "Выпуск языка программирования Rust 1.57"  +4 +/
Сообщение от Аноним (90), 03-Дек-21, 07:15 
"const _: ()" - лично меня "убивает" не только эта конструкция, но и формулировка "неиспользуемая константа пустого типа".
Ответить | Правка | Наверх | Cообщить модератору

106. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Прохожий (??), 03-Дек-21, 08:11 
Иной раз константы следует объявлять неиспользуемыми, чтобы компилятор не ругался. Для тебя такое в новинку?

А пустой тип сродни null. Или тоже первый раз о таком слышишь?

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

109. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Прохожий (??), 03-Дек-21, 08:19 
А пустой тип сродни null или void.
Ответить | Правка | Наверх | Cообщить модератору

145. "Выпуск языка программирования Rust 1.57"  +2 +/
Сообщение от Анонимъ (?), 03-Дек-21, 10:32 
Строго говоря тип не пустой. У этого типа есть одно единственное значение. Это тип, размер которого равен нулю.

Альтернатива подобному - специальный синтаксис для краевых случаев. Но это усложняет язык и со временем порождает монстров вроде C++.

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

302. "Выпуск языка программирования Rust 1.57"  +1 +/
Сообщение от Аноним (16), 03-Дек-21, 20:30 
() это хорошо известный из функциональных языков программирования тип Unit. В Хаскеле, каком-нибудь, нету того же void, там будет IO () скорее всего для процедур с побочными эффектами.
Ответить | Правка | К родителю #90 | Наверх | Cообщить модератору

397. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (397), 06-Дек-21, 12:12 
Две неиспользуемые константы с одним и тем же именем?
Там же в строчках подряд
   const _: () = ...;
   const _: () = ...;
Ответить | Правка | К родителю #36 | Наверх | Cообщить модератору

398. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от Аноним (-), 06-Дек-21, 13:04 
> Две неиспользуемые константы с одним и тем же именем?
> Там же в строчках подряд

Это вообще-то "классика", мимо которой довольно сложно пройти:
https://en.wikipedia.org/wiki/Underscore#Programming_convent...
> In some languages with pattern matching, such as Prolog, Standard ML, Scala, OCaml, Haskell, Erlang, and the Wolfram Language, the pattern _ matches any value, but does not perform binding.

...

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

401. "Выпуск языка программирования Rust 1.57"  +/
Сообщение от freecoderemail (ok), 08-Дек-21, 10:10 
В Rust подчеркивание "_" - это не имя, а служебное слово языка.
Ответить | Правка | К родителю #397 | Наверх | Cообщить модератору

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

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




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

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