|
Заблокирован
|
||||||
Rust не хватает функциональности?20.08.2020, 17:24. Показов 5640. Ответов 29
Метки нет (Все метки)
Rust вобрал в себя немало из функциональных языков, но ему, по-моему мнению, все же функциональности не достает.
Простой пример: вы почему-то захотели написать свою функцию swap, которая меняет местами два ближайших элемента в векторе, а не воспользоваться уже существующей. Возможно вы не знали про ее существование или вам нужен немного другой функционал. Поскольку язык императивный, то вы решили сначала попробовать поменять местами элементы с помощью обмена через третью переменную. Но тут работать это не будет, так как нельзя одновременно заимствовать ссылку на объект и изменят этот же объект. Как человек который знает как хорошо дело обстоит с алгоритмами в языке Lisp, как это там удобно благодаря широкому набору необходимых функций. Начнем смотреть - есть метод first(), который возвращает ссылку на первый элемент вектора; есть метод pop() который возвращает последний элемент вектора и удалет его же из этого вектора; есть метод last() - в целом неплохо, но не хватает методов вроде second(), rest() и прочих, которые бы сделали жизнь намного проще. Интересно почему создатели забили на них и не определили их для этой коллекции и прочих коллекций? Как пример
1
|
||||||
| 20.08.2020, 17:24 | |
|
Ответы с готовыми решениями:
29
[Rust] Обсуждение возможностей и предстоящей роли языка Rust [Rust] Как привязывать WinAPI-функции к коду на Rust? Расскажите о своём опыте программирования на Rust |
|
║XLR8║
|
||||||||
| 07.09.2020, 18:23 | ||||||||
swap уже давно делается через rvalue ибо незачем менять блоки памяти если можно поменять указатели. Мало ли каких они могут быть размеров.И если бы я писал руками, я бы сделал как в std, через сырые указали и с unsafe. Что касается замены местами переменных, лучше всего тут подойдёт move а не copy/clone.
Добавлено через 1 минуту
0
|
||||||||
|
Заблокирован
|
|||||||||
| 07.09.2020, 18:51 [ТС] | |||||||||
|
Это копируемый тип. И у вас x копируется в y, а y копируется в x. Move - это передача владения у клонируемых типов.
0
|
|||||||||
|
Заблокирован
|
|||||||
| 07.09.2020, 19:15 [ТС] | |||||||
0
|
|||||||
|
Модератор
|
||||||||||||
| 07.09.2020, 21:28 | ||||||||||||
|
С++
С#
0
|
||||||||||||
|
Заблокирован
|
|
| 07.09.2020, 22:29 [ТС] | |
|
0
|
|
|
║XLR8║
|
||
| 10.09.2020, 00:18 | ||
|
0
|
||
|
Заблокирован
|
||
| 10.09.2020, 00:22 [ТС] | ||
|
Вообще да, это может запутать и придется долго концы с концами сводить.
0
|
||
|
Заблокирован
|
|||||||||||
| 17.03.2021, 14:06 | |||||||||||
0
|
|||||||||||
|
Модератор
|
||||||
| 17.03.2021, 23:26 | ||||||
|
RatPoison, проще так
1
|
||||||
| 17.03.2021, 23:26 | |
|
Выводится сообщение о том, что не хватает памяти, хотя памяти хватает Расширение функциональности pip Режим ограниченной функциональности Анализ функциональности кода Режим ограниченной функциональности Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия 33. открытые вопросы от клауде
anaschu 19.07.2026
"Что накопилось за эту часть А — тринадцать правок, из которых шесть пришли из ваших вопросов и каждая оказалась реальной ошибкой, а не калибровкой: односторонний симбиоз, отсутствующий листопад,. . .
|
32 сукцессия
anaschu 19.07.2026
сукцессия 28‑мерное ядро стабилизировано
Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не «подкручивает» сходимость —. . .
|
сукцессия 31: модель микоризы - это модель ещё нескольких явлений, социальных и экономических
anaschu 18.07.2026
Теория «Всего»: апдейт v1. 1. 2 — 28‑мерное ядро стабилизировано
Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не. . .
|
сукцессия 30. Массив проверяющих друг друга моделей
anaschu 18.07.2026
Архитектура сети взаимопроверяющих моделей микоризной сукцессии (v2. 0)
Развитие тензорного ОДУ-ядра и создание кросс-платформенного калибровочного полигона
Уважаемые коллеги!
В продолжение. . .
|
|
Грибы - это женщины, деревья - это мужчины. Анти инь янь для союза мужчины и женщины.
anaschu 18.07.2026
ГЛАВНЫЙ НАУЧНО-ФИЛОСОФСКИЙ ВЫВОД: Сексуально-Репродуктивный Капитализм против Государства Моногамии
Коллеги, мы вышли на финишную прямую 20-мерного ОДУ-моделирования вековой сукцессии (ветка. . .
|
Текстовый слайдер с нумерацией страниц и кроссбраузерность.
russiannick 18.07.2026
Один мой друг написал текстовый слайдер с нумерацией страниц. Сегодня я расскажу как он умудрился подружить его с кроссбраузерностью.
Очевидно сложно угодить с шириной каждому браузеру. Один крадет. . .
|
Грибы - это мемы, дерево - это человек. Применение микоризной модели к теории меметики Докинза.
anaschu 18.07.2026
Меметический изоморфизм теории «всего»: Грибная сукцессия как модель эволюции идей Докинза
Базовый код системы ОДУ микоризной сукцессии описывает не просто биологию, а универсальную. . .
|
Грибы - это корпорации, деревья - это государства. Механизм массонского захвата власти
anaschu 18.07.2026
Макроэкономический изоморфизм теории «всего»: Грибная сукцессия как модель транснационального капитализма
Базовый код системы ОДУ микоризной сукцессии описывает не просто биологию, а. . .
|