回答編集履歴
2
typo
test
CHANGED
@@ -24,16 +24,16 @@
|
|
24
24
|
}
|
25
25
|
```
|
26
26
|
|
27
|
-
`.`や
|
27
|
+
`.`や括弧を補っても補わなくても、コンパイルはできます。動くかどうかまでは、わかりません。
|
28
28
|
|
29
29
|
|
30
30
|
----
|
31
31
|
|
32
32
|
|
33
|
-
\# けれど、こんなのもコンパイルは通るので、なんかよくわからんですけど。
|
33
|
+
\# けれど、なんでもありでこんなのもコンパイルは通るので、なんかよくわからんですけど。
|
34
34
|
|
35
35
|
|
36
36
|
```kotlin
|
37
37
|
if (doorUiState isTransitioningTo 123) Unit
|
38
|
-
if 123 isTransitioningTo "abc") Unit
|
38
|
+
if (123 isTransitioningTo "abc") Unit
|
39
39
|
```
|
1
内容訂正
test
CHANGED
@@ -1,10 +1,8 @@
|
|
1
1
|
> isTransitioningTo()の定義は以下です。
|
2
2
|
> public open infix fun S.isTransitioningTo(targetState: S): Boolean
|
3
3
|
|
4
|
-
S
|
4
|
+
Sは、総称型だとおもうので、定義はこうなりますかね。
|
5
|
-
`infix fun
|
5
|
+
`infix fun <S> S.isTransitioningTo(targetState: S): Boolean`
|
6
|
-
|
7
|
-
\# Booleanと置き換えていいのかどうかは、しりません。元ソースの雰囲気的にはそうなのだろうな、とおもうだけです。
|
8
6
|
|
9
7
|
|
10
8
|
これを組み入れた以下のソースは、コンパイルできます。
|
@@ -16,7 +14,7 @@
|
|
16
14
|
var openedDoor: Boolean = false
|
17
15
|
}
|
18
16
|
|
19
|
-
infix fun
|
17
|
+
infix fun <S> S.isTransitioningTo(targetState: S): Boolean { TODO() }
|
20
18
|
|
21
19
|
fun xx() {
|
22
20
|
val doorUiState = DoorUiState()
|
@@ -29,3 +27,13 @@
|
|
29
27
|
`.`やかっこを補っても補わなくても、コンパイルはできます。動くかどうかまでは、わかりません。
|
30
28
|
|
31
29
|
|
30
|
+
----
|
31
|
+
|
32
|
+
|
33
|
+
\# けれど、こんなのもコンパイルは通るので、なんかよくわからんですけど。
|
34
|
+
|
35
|
+
|
36
|
+
```kotlin
|
37
|
+
if (doorUiState isTransitioningTo 123) Unit
|
38
|
+
if 123 isTransitioningTo "abc") Unit
|
39
|
+
```
|