Николай обнови решението на 21.10.2018 17:23 (преди 10 месеца)
Мъдро ли е да променяш променливата от closure-а?
В амбицията си да напиша решението максимално кратко и ясно, реших да подходя по този начин. В конкретния случай не би трябвало да е проблем initial променливата да се променя директно от closure-a.
Having said that, наясно съм, че по-идиоматично (и безопасно) е да се прави копие на променливата, за да се избяга случай, в който тя бива манипулирана от някъде другаде извън closure-а и в резултат на което потенциално да се получи неочакван резултат. :)
Ох, но от друга страна, ако викна отново върнатата функция, ще се използва първоначалната initial променлива, защото тя е "хваната" от closure-а... Good catch! (no pun intended)
Мъдро ли е да променяш променливата от closure-а?
В амбицията си да напиша решението максимално кратко и ясно, реших да подходя по този начин. В конкретния случай не би трябвало да е проблем initial променливата да се променя директно от closure-a.
Having said that, наясно съм, че по-идиоматично (и безопасно) е да се прави копие на променливата, за да се избяга случай, в който тя бива манипулирана от някъде другаде извън closure-а и в резултат на което потенциално да се получи неочакван резултат. :)
Ох, но от друга страна, ако викна отново върнатата функция, ще се използва първоначалната initial променлива, защото тя е "хваната" от closure-а... Good catch! (no pun intended)