Size: a a a

Saint P Ruby Community

2020 July 03

AD

Anton Davydov in Saint P Ruby Community
Cucumba Morozov
А если в базу ходишь?
в чистом функциональном мире это сайдэффект вроде как
источник

CM

Cucumba Morozov in Saint P Ruby Community
Да даже в грязном, думаю
источник

AD

Anton Davydov in Saint P Ruby Community
ну, в грязном можно предположить что условно нет
источник
2020 July 04

w

wi11son in Saint P Ruby Community
источник

w

wi11son in Saint P Ruby Community
началась последняя лекция
источник

GP

G P in Saint P Ruby Community
источник

w

wi11son in Saint P Ruby Community
источник
2020 July 05

w

wi11son in Saint P Ruby Community
источник

w

wi11son in Saint P Ruby Community
Как вам пропоузал? Мне нравится, но очень бы хотелось заменить знак бакса на собаку
источник

NB

Nikita Bulai in Saint P Ruby Community
struct(...) бы-какой, чтобы максимально понятно
источник

w

wi11son in Saint P Ruby Community
типа по аналогии с проком и лямбдой?
источник

PP

Pavel Peganov in Saint P Ruby Community
wi11son
Как вам пропоузал? Мне нравится, но очень бы хотелось заменить знак бакса на собаку
$truct, ха-ха.
источник

TL

Tab Loid in Saint P Ruby Community
Идея неплохая, я редко использую Struct именно из-за общей многословности и из-за конструктора с позиционными аргументами
источник

CM

Cucumba Morozov in Saint P Ruby Community
Nikita Bulai
struct(...) бы-какой, чтобы максимально понятно
Вот плюсую. Хотелось бы мб метод в Kernel, а не выделенный синтаксис. Я по описаниям не совсем понял, почему метод не очень вариант, хоть его и рассматривали
источник

VD

Vla Dem in Saint P Ruby Community
Cucumba Morozov
Вот плюсую. Хотелось бы мб метод в Kernel, а не выделенный синтаксис. Я по описаниям не совсем понял, почему метод не очень вариант, хоть его и рассматривали
Если я правильно понял, то метод не вариант, потому что при каждом вызове (например, если внутри другого метода) будет создаваться новый анонимный Struct, а так можно будет его на этапе компиляции один раз создать и «закешировать»
источник

VD

Vla Dem in Saint P Ruby Community
То есть метод — это будет просто синтаксический сахар; а синтаксис позволит ещё и оптимизировать код
источник

CM

Cucumba Morozov in Saint P Ruby Community
А почему оно так работает?

Вон если я сделаю "foo".to_sym, то там символ тоже будет создан внутри метода. Он будет отдельно от остальных жить? Не закеширован?
Или там настолько разные механизмы?
источник

VD

Vla Dem in Saint P Ruby Community
Разные; символы уникальны, анонимные стракты даже с одинаковыми ключами — это разные классы
источник

CM

Cucumba Morozov in Saint P Ruby Community
Но они уникальны не просто так же. Есть механизмы, которые это обеспечивают, и они работают в разных условиях

Почему внутри метода нельзя сделать механизм, который это дело оптимизирует? 🤔
источник

m

max in Saint P Ruby Community
Как бы аппетитно этот пропосал не выглядел, он отвратителен.
Они просто сломают Struct, пусть берут новый класс типа HashWithDotAccess  и на нем экспериментируют (да, могут унаследовать от стракта). Но то что они предлагают не ведет себя как текущий стракт и поэтому не должно быть его инстансом.
источник