The OpenNET Project / Index page

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



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

Исходное сообщение
"Доступен язык программирования Rust 1.15"
Отправлено Ordu, 05-Фев-17 23:22 
> Добавить символ к строке - push(), добавить &str - push_str().
> Из &str - from(), из utf8 vec - from_utf8(), из Box<str> -
> into_string()
> из utf8 vec

Перегрузки функций нет в стиле C++ нет. И я отмечу, что вектор -- не utf8. Это программист может надеятся или даже верить, что вектор содержит utf8, но стандартная библиотека не верит и возвращает Result<String, какой-то-там-еггог>.

> из Box<str>

Box<str> -- это почти String, и into_string "скушает" Box<str>. into_string -- это суицидальный метод Box<str>, в том смысле что lifetime бокса закончится, и любое последующее обращение к нему приведёт к ошибке компиляции. Это именно into_string. Тут сложнее придумать более удачное название.

> И после этого пых ругают за бардак с наименованием функций.
> Но больше всего порадовало, что операция + позволяет сделать конкатенацию string и
> &str, но не позволяет двух string, нужно для второго string сделать
> преобразование в &str. И они удивляются, чего это конкатенация вызывает вопросы
> у людей знакомых с другими ЯП.

В rust нет перегрузки методов. Поэтому либо + будет складывать string и string, либо string и str. Первое иногда будет требовать создания String и копирования слайса в кучу, только для того, чтобы вызвать метод. Второе удачнее, потому что получить из string &str можно оператором &, с примерно нулём накладных расходов в рантайме:

s1 += &s2.

 

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



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

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