yole
10/20/2017, 5:27 PMxkor
10/20/2017, 5:29 PMxkor
10/20/2017, 5:30 PMyole
10/20/2017, 5:31 PMyole
10/20/2017, 5:31 PMxkor
10/20/2017, 5:37 PMorangy
FooBar("a", "b")
? Компилятор должен вызвать setValue?xkor
10/20/2017, 5:39 PMmiha-x64
10/21/2017, 7:21 AMgildor
10/23/2017, 4:55 AMcaffeine
10/27/2017, 10:38 AMyole
10/27/2017, 10:44 AMcaffeine
10/27/2017, 10:55 AMyole
10/27/2017, 11:00 AMbeholder
10/27/2017, 5:22 PMlewik
10/30/2017, 9:53 AMyole
10/31/2017, 4:19 PMmoonsweel
11/01/2017, 1:08 PMbeholder
11/01/2017, 7:05 PMadambl4
11/01/2017, 7:57 PMbeholder
11/01/2017, 10:23 PMilya.gorbunov
11/01/2017, 11:00 PMgildor
11/02/2017, 2:02 AMbeholder
11/02/2017, 8:33 AMbeholder
11/02/2017, 8:35 AMbeholder
11/02/2017, 8:35 AMoperator fun []()
gildor
11/02/2017, 9:43 AMif (x in ["bar", "foo"])
(особенно если будет для этого интринзик) и в dsl, где не так важна имплементация, а больше краткость и понятностьsnrostov
11/03/2017, 8:24 AMclass HomeView : ReactDOMComponent<HomeView.Props, HomeView.State>() {
companion object : ReactComponentSpec<HomeView, Props, State>
При этом все Props-ы обязаны быть mutable, иначе dsl не будет работать
вариант 3: Если использовать подход с оператором +
, то для объявления компонента достаточно объявить сам компонент (наследовать определенный класс или интерфейс), а опретаор +
будет уже определен.
{
+Section(key = "s1", title = "About") {
+"About contents"
}
}
class Section(key: Any?, val title: String, val body: WidgetBody) : StatelessWidget(key)
А с HKT (https://github.com/47deg/KEEP/blob/2f2f27ebbab143933a1d63fcdaf40c8292cd2f97/proposals/type-classes.md), вобще можно будет объявить higher-kind класс Rendreable, добавлять его к существющим классом, и, соответсвенно рендерить:
// in existed module
data class User(val name: String)
object UserRenderrer: Renderable<User> {
fun User.render() = Row {
+ Column { +"Name: " }
+ Column { +name }
}
}
fun someOtherComponent(user: User) given Renderable<User> = Row { +user }
snrostov
11/03/2017, 9:01 AMrrader
11/03/2017, 10:04 AM