Как стать автором
Обновить

Комментарии 37

а сферические кони в вакууме так и вообще идеальны…
Хотим еще про D! Больше и разного!
НЛО прилетело и опубликовало эту надпись здесь
pure
Почему не оформите в виде «перевода»?
Тип документа уже нельзя отредактировать. Следующий раз обязательно так и сделаю.
НЛО прилетело и опубликовало эту надпись здесь
Это в статье (переводе?) ошибочка.

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

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

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

Публикации

Изменить настройки темы

Истории