Size: a a a

2020 May 30

D

DeepSpaceMining in Modern::Perl
А в новых версиях уже может и есть
источник

SZ

Sergey Zhmylove in Modern::Perl
DeepSpaceMining
Ясно. Я не в курсе подобностей таких ). Но мне стало интересно что такое japh
has asked for the wisdom
источник

SZ

Sergey Zhmylove in Modern::Perl
Alexey Ugnichev
Так в плюсах точно нет?
Судя по доке -- нет.
источник

AU

Alexey Ugnichev in Modern::Perl
Sergey Zhmylove
Судя по доке -- нет.
A lambda expression can use a variable without capturing it if the variable

is a non-local variable or has static or thread local storage duration (in which case the variable cannot be captured), or
is a reference that has been initialized with a constant expression.
A lambda expression can read the value of a variable without capturing it if the variable

has const non-volatile integral or enumeration type and has been initialized with a constant expression, or
is constexpr and has no mutable members.
источник

AU

Alexey Ugnichev in Modern::Perl
Это не оно?
источник

SZ

Sergey Zhmylove in Modern::Perl
Alexey Ugnichev
Это не оно?
Не оно, потому что это уже не замыкание ведь
источник

a

allter in Modern::Perl
Sergey Zhmylove
Не оно, потому что это уже не замыкание ведь
Ну, по реализации ты сам контролируешь, захватываются переменные или нет. И если захватываются, то как - по ссылке, значению (которое может быть каким-нибудь shared_ptr).

Само понятие замыкания не описывает обязательность и безопасность захвата - оно описывает синтаксис. Но, конечно, в функциональных языках он подразумевается.
источник

R

Roman in Modern::Perl
DeepSpaceMining
Ого сколько тут перловиков
Мои наблюдения показывают, что members — почти константа.
источник

SZ

Sergey Zhmylove in Modern::Perl
allter
Ну, по реализации ты сам контролируешь, захватываются переменные или нет. И если захватываются, то как - по ссылке, значению (которое может быть каким-нибудь shared_ptr).

Само понятие замыкания не описывает обязательность и безопасность захвата - оно описывает синтаксис. Но, конечно, в функциональных языках он подразумевается.
Тогда по-твоему char buf; int main (){return ++buf;} тоже замыкание?
источник

a

allter in Modern::Perl
Sergey Zhmylove
Тогда по-твоему char buf; int main (){return ++buf;} тоже замыкание?
Нет, т.к. buf - открытая переменная. Ну, тут уже нюансы. Фактически, отождествлять замыкания с объектами языков можно разве что в Haskell. Это всё же абстракция.
источник

SZ

Sergey Zhmylove in Modern::Perl
allter
Нет, т.к. buf - открытая переменная. Ну, тут уже нюансы. Фактически, отождествлять замыкания с объектами языков можно разве что в Haskell. Это всё же абстракция.
Но ведь это же захват :р
источник

AU

Alexey Ugnichev in Modern::Perl
Sergey Zhmylove
Но ведь это же захват :р
И причём очень анонимная функция ;)
источник

SZ

Sergey Zhmylove in Modern::Perl
Alexey Ugnichev
И причём очень анонимная функция ;)
Точно!
источник

a

allter in Modern::Perl
Sergey Zhmylove
Но ведь это же захват :р
Я, вроде, говорил, что понятие замыкания ортогонально захвату
источник

AP

Anton Petrusevich in Modern::Perl
Alexey Stavrov
В с++ решили так же сделаг
там вообще удивительно что смогли :)
источник

AS

Alexey Stavrov in Modern::Perl
Sergey Zhmylove
Но ведь это же захват :р
Нет, это не захват. Переменная, объявлена в статической области. В сегменте bss. Захват - это когда из контекста функции захватываются переменные в лямбда функцию
источник

МК

Михаил Козачков... in Modern::Perl
Roman
Мои наблюдения показывают, что members — почти константа.
Да, поиск, например, Python сообществ, выдаёт совсем другие числа.

Modern::Perl же, так понимаю, только русскоязычное здесь, с английским названием к тому же, что вводит в заблуждение приходящих иностранцев.
источник

AP

Anton Petrusevich in Modern::Perl
Alexey Stavrov
А какую?
был где-то отчёт о взломе сервиса, там похапе поломали именно изза ==, программист ошибся, сравнив ключ неправильно.
источник

AS

Alexey Stavrov in Modern::Perl
Anton Petrusevich
там вообще удивительно что смогли :)
В смысле? А почему удивительно?

Ты мог и сам добавить в с++ это как-то так:
Создаёшь класс, в конструкторе указываешь то, что будет в захвате. Определяет оператор operator(). Этот оператор делает функтор из твоего объекта. По сути создаёшь объект, указывая, что и как захватить и вызываешь его как функцию.
источник

AS

Alexey Stavrov in Modern::Perl
Anton Petrusevich
был где-то отчёт о взломе сервиса, там похапе поломали именно изза ==, программист ошибся, сравнив ключ неправильно.
Ну баги можно наделать в разных местах. Вообщем не аргумент.
источник