Size: a a a

Dart & Flutter по-русски

2020 July 12

А

Александр in Dart & Flutter по-русски
Даниил Левицкий
Это же может быть прямым поведением функции, если у тебя будет функция config(object), которая будет мутировать какой-то Филд, она останется чистой
В императивных языках некоторые функции в процессе выполнения своих вычислений могут модифицировать значения глобальных переменных, осуществлять операции ввода-вывода, реагировать на исключительные ситуации, вызывая их обработчики. Такие функции называются функциями с побочными эффектами.
источник

ДЛ

Даниил Левицкий... in Dart & Flutter по-русски
Александр
В императивных языках некоторые функции в процессе выполнения своих вычислений могут модифицировать значения глобальных переменных, осуществлять операции ввода-вывода, реагировать на исключительные ситуации, вызывая их обработчики. Такие функции называются функциями с побочными эффектами.
Да, но мы же не говорим о том, что он хочет менять глобальные переменные
источник

ДЛ

Даниил Левицкий... in Dart & Flutter по-русски
Это внутреннее поле класса, переданного в функцию
источник

А

Александр in Dart & Flutter по-русски
Даниил Левицкий
Называется нарушение single data flow
Изменение стейта происходит не мутацией, ты создаешь новый обьект, а не мутируешь существующий
источник

ДЛ

Даниил Левицкий... in Dart & Flutter по-русски
Александр
Изменение стейта происходит не мутацией, ты создаешь новый обьект, а не мутируешь существующий
Верно
источник

ДЛ

Даниил Левицкий... in Dart & Flutter по-русски
Я же так и написал
источник

V

Vadim in Dart & Flutter по-русски
Tim
Как можно "отрезать" часть виджета?
У меня есть Column который делаю уходящим в 100% прозрачность и нужно отрезать его часть, чтобы не скроллился. Обернул просто в контейнер с заданной высотой и все ок, но RenderFlex overflowed ругается
источник

ДЛ

Даниил Левицкий... in Dart & Flutter по-русски
Это не сайд эффект и не нарушает чистоту функции. Но Портит другой подход
источник

А

Александр in Dart & Flutter по-русски
Даниил Левицкий
Я же так и написал
Да, сорян)
источник

ДЛ

Даниил Левицкий... in Dart & Flutter по-русски
Но вообще опять же
источник

V

Vadim in Dart & Flutter по-русски
источник

ДЛ

Даниил Левицкий... in Dart & Flutter по-русски
Он говорил совсем не об этой задаче изначально
источник

А

Александр in Dart & Flutter по-русски
Даниил Левицкий
Это внутреннее поле класса, переданного в функцию
Ну если это внутренне поле класса, то отвественность за него должен нести класс. Разумно будет создать метод класса, который будет опрерировать с этим полем
источник

ДЛ

Даниил Левицкий... in Dart & Flutter по-русски
Александр
Ну если это внутренне поле класса, то отвественность за него должен нести класс. Разумно будет создать метод класса, который будет опрерировать с этим полем
В дарт, как и в Котлин
источник

ДЛ

Даниил Левицкий... in Dart & Flutter по-русски
По умолчанию ты используешь сеттер
источник

ДЛ

Даниил Левицкий... in Dart & Flutter по-русски
То есть функцию
источник

ND

Nikita Domnickij in Dart & Flutter по-русски
Чистые функции должны работать только с тем что ты им передашь
источник

ДЛ

Даниил Левицкий... in Dart & Flutter по-русски
Которая оперирует с этим полем
источник

ДЛ

Даниил Левицкий... in Dart & Flutter по-русски
То есть
Void config(object) {
object.f = 1
}
источник

ДЛ

Даниил Левицкий... in Dart & Flutter по-русски
Является чистой функцией
источник