Comments 37
а сферические кони в вакууме так и вообще идеальны…
-11
Хотим еще про D! Больше и разного!
0
UFO just landed and posted this here
Почему не оформите в виде «перевода»?
+4
Артём, если ты в Москве, посмотри анонс встречи программистов. Приходи рассказать про D.
0
UFO just landed and posted this here
Это в статье (переводе?) ошибочка.
Разумеется, если в D функция отмечена pure, то пользоваться глобальными переменными не получится. :)
Разумеется, если в D функция отмечена pure, то пользоваться глобальными переменными не получится. :)
0
UFO just landed and posted this here
А в чем именно ошибка?
0
Получится, если они imutable.
0
UFO just landed and posted this here
ну не любая, а, ещё раз повторюсь, imutable. что даёт уверенность в том, что её значение останется неизменным.
+1
UFO just landed and posted this here
Да ладно, а если функции имеет дело с геометрией и активно используют число pi, то прикажете 3.14 забивать в тело каждой функции? Кажется общепринято порицать copy-paste.
0
UFO just landed and posted this here
Ну как всегда две стороны одной медали. Одно дело когда immutable переменные являются стойкими, и, например, относятся к константам из какой-либо науки. Другое дело, когда её объявил коллега. Допустим это BUFFER_SIZE. И захотел в какое-то время поставить ей слишком высокое занчание — получаем возможность «Out of memory». Или слишком низкое — получаем возможность падения производительности. Или, что ещё хуже, таймауты по пути следования данных.
0
UFO just landed and posted this here
О! Pi не зависит от постоянной Планка?
0
Глобальные переменные можно использовать, если они imutable.
0
Интересный теоритический материал. Заинтересовал данный язык, однако информации немного по нему. Буду рад, если вы, а также другие хабрапользователи, будете снабжать читателей новыми статьями. ;)
+1
Автор, исправь ошибку в самом начале поста:
+1
Точнее Чистые функЦии (сам ошибся указывая на чужую ошибку)
0
Не совсем понимаю как в первая функция запрещает изменение содержимого передаваемого массива. То есть const int[] a предохраняет изменение массива (или только ссылки на него?) в контексте функции, но не за ее пределами. Поэтому при асинхронном выполнений возникнет несоответствие «concurrent array modification».
Вообще передача ссылочных типов в «чистые» функции нарушает их изолированность от контекста выполнения. Единственный вариант сохранения изоляции — это делать глубокие unmodified копии передаваемых объектов. Иначе, для пущей чистоты, придется запретить ссылки.
Вообще передача ссылочных типов в «чистые» функции нарушает их изолированность от контекста выполнения. Единственный вариант сохранения изоляции — это делать глубокие unmodified копии передаваемых объектов. Иначе, для пущей чистоты, придется запретить ссылки.
0
Могут быть чистые методы? Или достаточно const-методов?
0
Sign up to leave a comment.
Articles
Change theme settings
Чистые функции