Pull to refresh

Comments 37

а сферические кони в вакууме так и вообще идеальны…
UFO just landed and posted this here
Почему не оформите в виде «перевода»?
Тип документа уже нельзя отредактировать. Следующий раз обязательно так и сделаю.
UFO just landed and posted this here
Это в статье (переводе?) ошибочка.

Разумеется, если в D функция отмечена pure, то пользоваться глобальными переменными не получится. :)
UFO just landed and posted this here
А в чем именно ошибка?
Получится, если они imutable.
UFO just landed and posted this here
ну не любая, а, ещё раз повторюсь, imutable. что даёт уверенность в том, что её значение останется неизменным.
UFO just landed and posted this here
Да ладно, а если функции имеет дело с геометрией и активно используют число pi, то прикажете 3.14 забивать в тело каждой функции? Кажется общепринято порицать copy-paste.
UFO just landed and posted this here
Смотрите мой коммент ниже.
Ну как всегда две стороны одной медали. Одно дело когда immutable переменные являются стойкими, и, например, относятся к константам из какой-либо науки. Другое дело, когда её объявил коллега. Допустим это BUFFER_SIZE. И захотел в какое-то время поставить ей слишком высокое занчание — получаем возможность «Out of memory». Или слишком низкое — получаем возможность падения производительности. Или, что ещё хуже, таймауты по пути следования данных.
UFO just landed and posted this here
О! Pi не зависит от постоянной Планка?
UFO just landed and posted this here
ħ = 4πRr2cm, где
  R — константа ридберга
  r — Боровский радиус
  c — скорость света
  m — масса электрона

?
UFO just landed and posted this here
Число Пи — отношение длины окружности к её радиусу, поверьте, оно не зависит от постоянной Планка.
Глобальные переменные можно использовать, если они imutable.
Интересный теоритический материал. Заинтересовал данный язык, однако информации немного по нему. Буду рад, если вы, а также другие хабрапользователи, будете снабжать читателей новыми статьями. ;)
Автор, исправь ошибку в самом начале поста:
Чистые функии
Надо: Чистые функиЦи
И как её не заметил ( Спасибо!
Точнее Чистые функЦии (сам ошибся указывая на чужую ошибку)
Не совсем понимаю как в первая функция запрещает изменение содержимого передаваемого массива. То есть const int[] a предохраняет изменение массива (или только ссылки на него?) в контексте функции, но не за ее пределами. Поэтому при асинхронном выполнений возникнет несоответствие «concurrent array modification».

Вообще передача ссылочных типов в «чистые» функции нарушает их изолированность от контекста выполнения. Единственный вариант сохранения изоляции — это делать глубокие unmodified копии передаваемых объектов. Иначе, для пущей чистоты, придется запретить ссылки.
Могут быть чистые методы? Или достаточно const-методов?
Sign up to leave a comment.

Articles

Change theme settings