The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Выпуск языка программирования Rust 1.34"
Отправлено scor, 15-Апр-19 10:22 
> Не-не, дружок. Интересует юникод.

Вообще, да, странная ситуация.
С одной стороны есть вполне вменяемое объяснение почему нет итератора для чаров https://internals.rust-lang.org/t/iterating-over-range-char/...
С другой стороны Ord таки задефайнен для чаров и ничто не мешало приделать итератор, раз уж определён порядок.
Но с третей стороны, например, в том же хаскеле такое делать можно, но совершенно не очевидно, чего хотел программист делая какой-нибудь
```
map f ['а' ..'я']
```
Это в рамках какого алфавита должно происходить? Или вот это что значит?
```
λ> 'е' < 'ё'
True
λ> 'ё' < 'ж'
False
```
Понятно, что это из-за:
```
λ> 'е'
'\1077'
λ> 'ё'
'\1105'
λ> 'ж'
'\1078'
```
Но если принять, что это нормальное поведение и так и должно быть, то получается, что мы хотим работать тупо с интами и чары тут ни при чём, а если хотим работать с каким-то конкретным алфавитом, то придётся его задавать руками (или брать из готовых библиотек) и работать уже не с Char, а явно с RusAbc, EngAbc или IcelandicAbc.
Возможно, что в расте хотели избежать этой неопределённости и намеренно не реализовали итераторы для чаров. Но зачем тогда там можно делать range для них, тоже не ясно. Выглядит как логическая дырка.:)

ЗЫ. Я вообще не специалист по расту. А выше мысли по мотивам нагугленного за десять минут материала.:)

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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