момент.
Если говорить сухо:
Extension функции (как top-level, так и внутри классов) -- это по сути и есть контексты.
Клиентский код вправе написать что-то либо with(FooBar) {} либо же объявить рядом FooBar.something() и получить таким образом FooBar контекст.
Но если говорить про Stateful контекст, то каким образом state можно передать?
Пример с double2D замечательный, но в нем ArrayAccessor задается явно.
А что делать если мне нужно создать stateful контекст в самом начале (например из запроса и переменных окружения), и затем где-то через цепочку промежуточных вызовов его использовать?
Ну так точно так же: fun StatefulContex.doSomthething() fun doRoot(){ val statefulContext = StatefulContext(state) statefulContext.doSomething() }
> А что делать если мне нужно создать stateful контекст в самом начале (например из запроса и переменных окружения), и затем где-то через цепочку промежуточных вызовов его использовать? Всё по классике, тредлокаль
Обсуждают сегодня