回答編集履歴

3

補足

2020/02/15 22:23

投稿

popobot
popobot

スコア6586

test CHANGED
@@ -108,7 +108,7 @@
108
108
 
109
109
 
110
110
 
111
- 余談ですが、4のような`a..b().c()`を使いたいケースを考えてみました...
111
+ おまけですが、4のような`a..b().c()`を使いたいケースを考えてみました...
112
112
 
113
113
 
114
114
 
@@ -118,4 +118,6 @@
118
118
 
119
119
  print(_list..first.shuffle());
120
120
 
121
+ print((_list..shuffle()..first.shuffle()).first.first);
122
+
121
123
  ```

2

余談を追加

2020/02/15 22:22

投稿

popobot
popobot

スコア6586

test CHANGED
@@ -101,3 +101,21 @@
101
101
 
102
102
 
103
103
  > Basically, a..b().c() is the same as (t){t.b().c(); return t;}(a)
104
+
105
+
106
+
107
+ ----
108
+
109
+
110
+
111
+ 余談ですが、4のような`a..b().c()`を使いたいケースを考えてみました...
112
+
113
+
114
+
115
+ ```
116
+
117
+ var _list = <List<String>>[['one', 'two', 'three'],['four', 'five', 'six']];
118
+
119
+ print(_list..first.shuffle());
120
+
121
+ ```

1

補足

2020/02/15 22:19

投稿

popobot
popobot

スコア6586

test CHANGED
@@ -1,10 +1,10 @@
1
- `3`は単純に`shuffle()`の戻り値が`void`のため、エラーになります。
1
+ 3`_list.shuffle().first`は単純に`shuffle()`の戻り値が`void`のため、エラーになります。
2
2
 
3
3
 
4
4
 
5
- `4`は`shuffle().first`がカスケードの範囲として認識されます。なので、`shuffle()`の戻り値`void`に`first`しており、エラーになります。
5
+ 4`_list..shuffle().first`は`shuffle().first`がカスケードの範囲として認識されます。なので、`shuffle()`の戻り値`void`に`first`しており、エラーになります。
6
6
 
7
- 一方、`2`では`shuffle()`のみがカスケードの範囲として認識されるので、`first`は`_list`に対して実行されます。
7
+ 一方、2`(_list..shuffle()).first`では`shuffle()`のみがカスケードの範囲として認識されるので、`first`は`_list`に対して実行されます。
8
8
 
9
9
 
10
10
 
@@ -38,7 +38,7 @@
38
38
 
39
39
 
40
40
 
41
- `2`の`print((_list..shuffle()).first);`は以下のように置き換えられる
41
+ 2の`print((_list..shuffle()).first);`は以下のように置き換えられる
42
42
 
43
43
  ```
44
44
 
@@ -64,7 +64,7 @@
64
64
 
65
65
 
66
66
 
67
- `4`の`print(_list..shuffle().first);`は以下のように置き換えられる
67
+ 4の`print(_list..shuffle().first);`は以下のように置き換えられる
68
68
 
69
69
  ```
70
70