1
00:00:02,200 --> 00:00:04,380
Ciao, questo è che non vogliamo farlo anche noi.

2
00:00:04,480 --> 00:00:05,470
Ben tornato.

3
00:00:05,470 --> 00:00:10,130
Esaminiamo le operazioni di riduzione che sono anche operazioni permanenti.

4
00:00:11,380 --> 00:00:14,100
Le operazioni di riduzione possono essere classificate in due tipi di gruppo.

5
00:00:14,120 --> 00:00:19,310
Uno di questi è rappresentato dalla regolazione mentre l'altro dal metodo Collect.

6
00:00:19,720 --> 00:00:25,340
Ma guarda il Collect Muntari coinvolgere i precedenti demo che abbiamo raccolto un flusso di

7
00:00:25,340 --> 00:00:32,540
elementi in un flusso duellante di elementi possono anche essere raccolti in altri tipi come il set o la mappa.

8
00:00:32,600 --> 00:00:35,310
Guarda il metodo Collect in una lezione successiva.

9
00:00:35,450 --> 00:00:41,450
In questa particolare conferenza concentriamoci su questo e usiamo il metodo su entrambi questi metodi sono sovraccarichi per

10
00:00:41,880 --> 00:00:47,270
introdurre B come metodi di overload e daremo un'occhiata a tutti e tre di essi.

11
00:00:47,270 --> 00:00:53,480
Quindi concentriamoci solo sul metodo ridotto per ridurre il metano come suggerisce il nome per ridurre il flusso

12
00:00:53,480 --> 00:00:55,720
di elementi in un singolo valore.

13
00:00:56,090 --> 00:01:01,490
Quindi abbiamo il flusso di elementi e l'output sarebbe un singolo valore su alcuni sarebbe uno

14
00:01:01,490 --> 00:01:02,430
degli esempi.

15
00:01:02,570 --> 00:01:08,510
Quindi, se tu come un flusso di numeri e se vogliamo calcolare la somma del flusso di

16
00:01:08,510 --> 00:01:15,290
elementi del flusso di numeri, allora possiamo usare il metodo di riduzione sotto il metodo ridotto accetta un'operazione chiamata un'operazione

17
00:01:15,290 --> 00:01:16,360
di riduzione.

18
00:01:16,380 --> 00:01:20,000
E questo dà un'impressione direzionale sarebbe la stessa operazione.

19
00:01:20,000 --> 00:01:28,490
Allo stesso modo, potremmo voler trovare i massimi o minimi del flusso di elementi, ad esempio, nel nostro esempio di libri che è

20
00:01:28,490 --> 00:01:34,520
stato usato come caso d'uso nelle nostre demo in cui abbiamo aggregato l'elenco di libri di

21
00:01:34,580 --> 00:01:35,420
due fonti.

22
00:01:35,420 --> 00:01:42,110
Amazon su Bansal No, ma potremmo voler trovare il libro con il prezzo più basso e per

23
00:01:42,110 --> 00:01:47,260
questo possiamo usare il metodo ridotto e molto presto li elimineremo da questo.

24
00:01:47,310 --> 00:01:51,350
Ora ecco come avviene la riduzione che funziona il metodo adieus.

25
00:01:51,360 --> 00:01:55,980
Quindi, come ho detto prima, importa importa la loro operazione di produzione.

26
00:01:55,980 --> 00:02:01,620
In questo caso stiamo preparando come una sorta di operazione di riduzione sarebbe una operazione di

27
00:02:01,620 --> 00:02:05,060
reazione insufficiente sarebbe applicata ripetutamente sul flusso di elementi.

28
00:02:05,070 --> 00:02:11,840
Quindi qui in alto abbiamo il flusso di Elements 4 elementi 5 1 3 e 6 sulla strada che ti circonda, che è

29
00:02:11,850 --> 00:02:14,800
l'uscita è il 15 bit è mostrato in basso.

30
00:02:15,150 --> 00:02:17,920
Quindi l'operazione elettorale sarà applicata ripetutamente.

31
00:02:17,940 --> 00:02:25,230
Quindi inizialmente prenderà i primi due elementi di 5:01 e li aggiungerà per ottenere W6, quindi l'operazione somma

32
00:02:25,230 --> 00:02:28,050
può essere applicata al risultato giusto.

33
00:02:28,100 --> 00:02:35,160
U-6 l'elemento successivo in cui solo tre per ottenere WSI su un secondo più operazione verrà applicato sul

34
00:02:35,180 --> 00:02:40,590
nuovo dissolvibile nove e il prossimo sei per ottenere il valore finale 15.

35
00:02:40,620 --> 00:02:43,030
Ecco come funziona quel metodo di abuso.

36
00:02:43,050 --> 00:02:51,080
Questa è un'operazione di estrazione della sintassi soi che è un operatore binario e produce un'opzione sottoutilizzata

37
00:02:51,150 --> 00:02:54,940
usata per non mettere in errore l'opzione.

38
00:02:55,350 --> 00:02:59,840
Ora se il flusso stesso è vuoto, l'opzionale non avrà alcun valore.

39
00:03:00,300 --> 00:03:05,700
Quindi qui l'input è l'operatore binario e viene chiamato come nome del parametro come accumulatore.

40
00:03:05,700 --> 00:03:12,170
Perché stiamo accumulando il valore dell'operatore binario perché sta andando a prenotare sugli elementi di Ustream

41
00:03:12,180 --> 00:03:13,270
alla volta.

42
00:03:13,470 --> 00:03:17,500
Ok, ecco perché è un operatore binario che è un'interfaccia funzionale.

43
00:03:17,670 --> 00:03:23,580
Quindi dovremmo fornire un'implementazione dell'operatore binario qui come esempio.

44
00:03:23,580 --> 00:03:25,860
Qui ne stiamo calcolando alcuni.

45
00:03:25,920 --> 00:03:31,930
Quindi abbiamo gli stessi elementi 5 1 3 e 6 e stiamo aggiornando qui.

46
00:03:32,040 --> 00:03:33,380
Array intero.

47
00:03:33,420 --> 00:03:36,640
Quindi stiamo invocando il metodo di velocità della classe base.

48
00:03:36,660 --> 00:03:43,260
Quindi, come fa questa fonte di flusso, lo scambiamo con questo o con il metodo, mi viene detto che

49
00:03:43,350 --> 00:03:49,890
usa un metodo che accetta un operatore binario passando questo metodo chiamato sum che è un metodo statico nella

50
00:03:49,890 --> 00:03:50,970
classe intera.

51
00:03:50,970 --> 00:03:52,950
OK, questo è passato qui.

52
00:03:52,950 --> 00:03:59,880
Quindi questa è l'operazione di redazione e il summit verrà invocato ripetutamente per questi elementi estremi e l'output è un'opzione

53
00:04:00,330 --> 00:04:04,990
in base alla quale si avrebbe il migliore valore utilizzato con appena 50.

54
00:04:05,310 --> 00:04:06,960
OK, ecco come appare.

55
00:04:07,970 --> 00:04:14,160
Ora se la stessa cosa viene eseguita in modo imperativo nel modo tradizionale dovremmo usare un ciclo.

56
00:04:14,180 --> 00:04:20,350
Quindi qui stiamo avendo la variabile chiamata sum e la somma manterrà il valore finale.

57
00:04:20,390 --> 00:04:25,160
Quindi all'interno della speranza di Fardell stiamo passando attraverso la lista di numeri

58
00:04:25,670 --> 00:04:31,610
che è il flusso di numeri e applichiamo ripetutamente l'operatore somma sui numeri e stiamo accumulando

59
00:04:31,610 --> 00:04:33,210
il valore nel riepilogo.

60
00:04:33,320 --> 00:04:36,800
OK, quindi la variabile avrà il valore dell'accumulatore finale.

61
00:04:36,800 --> 00:04:41,910
Ora sappiamo che il problema che questo tipo di codice sta promuovendo è ingombrante.

62
00:04:42,260 --> 00:04:46,400
Quindi ci vorrà un po 'di tempo per comprendere questo particolare tribunale.

63
00:04:46,590 --> 00:04:50,640
E la seconda cosa è che se vogliamo combattere questa cosa, allora sarà doloroso.

64
00:04:50,660 --> 00:04:50,990
Destra.

65
00:04:50,990 --> 00:04:52,950
Ne abbiamo sentito parlare molto

66
00:04:53,250 --> 00:04:59,000
E la terza cosa è che se abbiamo una variabile multipla condivisa e stiamo per paralizzarti, il che

67
00:04:59,000 --> 00:05:04,130
significa che useremo il monitoraggio di lunedì, quindi dobbiamo sincronizzare il motore condiviso già pronto.

68
00:05:04,140 --> 00:05:10,100
Ma così in questo caso la variabile omicida condivisa è davvero un parallelismo di questa cosa che

69
00:05:10,100 --> 00:05:13,730
significa che il seguito sarà in qualche modo paralizzato.

70
00:05:13,820 --> 00:05:18,950
Quindi verranno utilizzate più minacce per calcolare la somma in modo che queste diverse minacce

71
00:05:18,950 --> 00:05:20,350
dovranno coordinarsi tra loro.

72
00:05:20,540 --> 00:05:22,470
Altrimenti avremmo una condizione di gara.

73
00:05:22,580 --> 00:05:28,670
Quindi dovremo sincronizzare alcune variabili per via del fatto che sarà costoso.

74
00:05:29,060 --> 00:05:36,530
Quindi ciò che guadagneremo a causa della parallelizzazione della velocità è ciò che faremo per la parallelizzazione.

75
00:05:36,530 --> 00:05:40,810
Quindi questo sarà compromesso perché la sincronizzazione è costosa.

76
00:05:40,940 --> 00:05:41,780
Questo è un problema.

77
00:05:41,810 --> 00:05:43,650
Abbiamo e ma di tribunale.

78
00:05:43,880 --> 00:05:47,450
Ma se usi l'uso, non avremo questo problema.

79
00:05:47,450 --> 00:05:52,520
Quindi se leggo il tuo post è solo la stessa corte ma il metodo stream è ora

80
00:05:52,520 --> 00:05:57,830
cambiato con un altro metodo chiamato caso Potala o il parlamento è inserito tra il flusso sottoutilizzato e il

81
00:05:57,830 --> 00:05:59,710
resto del codice è lo stesso.

82
00:06:00,000 --> 00:06:05,530
Quello è che un metodo ebraico sarà in grado di paralizzarsi in modo aggraziato senza sincronizzazione.

83
00:06:05,540 --> 00:06:07,930
OK, questo renderà molto efficiente.

84
00:06:07,970 --> 00:06:12,320
Quindi questo è il vantaggio che abbiamo per usare il metodo e questo è il modo in cui funziona.

85
00:06:12,320 --> 00:06:15,490
Quindi ancora una volta abbiamo i quattro elementi alti 1 3 e 6.

86
00:06:15,650 --> 00:06:19,910
Ma in questo è che importa perché stiamo usando un live stream.

87
00:06:19,910 --> 00:06:26,210
Sta andando a partizionare il flusso di elementi nel segmento segmenti uno su un segmento per notare

88
00:06:26,210 --> 00:06:30,070
che ci sono solo due thread buckler su ciascun core.

89
00:06:30,170 --> 00:06:37,610
L'operazione di deduzione verrà applicata ripetutamente proprio come avviene in un approccio sequenziale.

90
00:06:37,610 --> 00:06:42,630
OK, così presto abbiamo esaminato l'approccio sequenziale di dove l'operazione veniva applicata in particolare.

91
00:06:42,710 --> 00:06:48,620
Questo è ciò che accadrà in ciascuno di questi segmenti su ciascuno dei segmenti in quanto produce un valore

92
00:06:48,620 --> 00:06:49,110
accumulato.

93
00:06:49,130 --> 00:06:51,440
In questo caso sarebbe 6 sul mio.

94
00:06:51,530 --> 00:06:57,800
Quindi, infine, il metodo ridotto ha applicato l'operatore più su questi due valori accumulati

95
00:06:57,800 --> 00:07:01,020
per ottenere il valore finale di.

96
00:07:01,120 --> 00:07:08,020
Ma una cosa da notare è che per far funzionare correttamente il metodo giusto l'operazione di produzione deve

97
00:07:08,020 --> 00:07:11,460
essere sociata per essere conosciuta dalle scuole superiori.

98
00:07:11,470 --> 00:07:15,700
Ecco come appare la proprietà associata qui stiamo usando l'operatore plus.

99
00:07:16,120 --> 00:07:18,750
Quindi l'operazione di produzione è un'operazione positiva qui.

100
00:07:19,060 --> 00:07:24,680
Quindi entrambe queste espressioni avranno lo stesso valore e sappiamo che anche questa è una vera proprietà.

101
00:07:24,730 --> 00:07:31,570
Quindi se abbiamo partizionato gli elementi come nell'espressione sinistra in cui stiamo costruendo un segmento per produrre un

102
00:07:31,570 --> 00:07:35,140
valore accumulato su C sarà nel secondo segmento.

103
00:07:35,290 --> 00:07:35,550
Va bene.

104
00:07:35,560 --> 00:07:41,420
Anche se è solo un valore singolo, questo valore e viene aggiunto sarà uguale all'espressione del lato

105
00:07:41,420 --> 00:07:41,990
destro.

106
00:07:42,040 --> 00:07:45,460
Se la partizione è stata eseguita nel modo in cui viene mostrata sul lato destro.

107
00:07:45,700 --> 00:07:47,590
Quindi questa è l'essenza qui alla proprietà.

108
00:07:47,590 --> 00:07:51,210
Ora, se abbiamo esteso a quattro elementi, ecco come appare.

109
00:07:51,340 --> 00:07:57,670
Quindi tutte queste sono espressioni diverse che soddisfano le proprietà associate e tutte queste produrranno

110
00:07:57,700 --> 00:07:59,020
lo stesso valore.

111
00:07:59,200 --> 00:08:05,710
Ma tipicamente puoi aspettarti che la seconda espressione sia l'espressione che verrebbe usata in un

112
00:08:05,700 --> 00:08:06,700
barile impostato.

113
00:08:06,700 --> 00:08:12,760
In questo modo si sostiene che dividerebbe i quattro elementi in due segmenti su ae beb in un segmento C e

114
00:08:12,760 --> 00:08:17,920
D sarà nel secondo segmento in cui i volumi cumulativi verranno aggiunti ancora una volta per ottenere

115
00:08:17,920 --> 00:08:18,970
il valore finale.

116
00:08:18,970 --> 00:08:24,310
Ma la cosa da notare è che qui l'ordine è importante, in più non

117
00:08:24,310 --> 00:08:31,090
importa se l'ordine degli elementi del flusso è diverso, ma se stai considerando qualcosa come la concatenazione delle stringhe,

118
00:08:31,150 --> 00:08:33,190
ovviamente l'ordine deve essere mantenuto.

119
00:08:33,340 --> 00:08:38,560
Quindi l'ordine è importante e abbiamo bisogno di questa proprietà affinché il parallelismo funzioni.

120
00:08:38,710 --> 00:08:44,960
Ma se questa operazione di produzione non supporta la pubertà colpita da sociate, allora possiamo vedere come nel

121
00:08:44,960 --> 00:08:47,860
personaggio è probabile che abbia un risultato errato.

122
00:08:47,930 --> 00:08:55,270
Inoltre, possiamo anche avere risultati incoerenti su più sessioni in media, è un esempio di un'operazione

123
00:08:55,270 --> 00:08:58,670
di produzione che non è associata.

124
00:08:58,930 --> 00:09:03,130
Puoi prendere una penna e un foglio e puoi lavorarci sopra vedrai

125
00:09:03,130 --> 00:09:08,270
che la media non è un socio, non lo soddisfa e quindi fa la proprietà.

126
00:09:08,300 --> 00:09:13,780
No questa è la seconda sintassi del metodo di utilizzo della lettura sta prendendo il ciclo Alamitos qui come prima.

127
00:09:13,790 --> 00:09:20,630
Sta prendendo anche l'operatore binario ma il primo parametro è chiamato come identità sull'output, il valore

128
00:09:20,900 --> 00:09:23,100
restituito è un B.

129
00:09:23,270 --> 00:09:29,490
Quindi restituisce un valore piuttosto che restituire un'opzione un movimento precedente era facoltativo.

130
00:09:29,540 --> 00:09:31,460
Ma questo restituisce il valore.

131
00:09:31,460 --> 00:09:33,820
Ora qui il flusso è vuoto.

132
00:09:33,860 --> 00:09:37,810
Quindi questa particolare questione di lettura ritornerà identicamente.

133
00:09:38,060 --> 00:09:41,660
OK, quindi l'identità è come un valore predefinito e ciò lo farà.

134
00:09:41,720 --> 00:09:48,710
Quindi qui abbiamo un esempio in cui stiamo facendo concatenazione di stringhe sull'identità una stringa vuota

135
00:09:49,540 --> 00:09:55,310
sulla quantità ridotta di versi che l'uso inizialmente reso inizia a funzionare.

136
00:09:55,370 --> 00:10:00,890
Prende l'identità e poi si apre al primo elemento.

137
00:10:00,890 --> 00:10:06,380
Così in precedenza, quando abbiamo fatto l'esempio precedente, ma la stessa operazione ha preso i primi due elementi

138
00:10:06,380 --> 00:10:08,780
e poi ha aggiunto i due elementi.

139
00:10:08,780 --> 00:10:14,270
Ora se consideriamo la stessa operazione di somma per questo metodo di utilizzo corretto e diciamo

140
00:10:14,270 --> 00:10:20,570
che anche tu hai un'identità zero, l'identità verrà aggiunta al primo elemento sui medici che verrà aggiunto al secondo

141
00:10:20,570 --> 00:10:21,120
elemento.

142
00:10:21,320 --> 00:10:26,450
Va bene, ecco come funziona questo particolare metodo e questo è come funzionerà anche la prossima parte.

143
00:10:27,470 --> 00:10:31,910
Ora qui la chiamiamo identità di identità è solo una proprietà qui.

144
00:10:31,910 --> 00:10:40,370
Quindi la stringa vuota è identità e se aggiungessimo quel lavoro sarebbe uguale all'aggiunta di Java con una

145
00:10:40,460 --> 00:10:41,560
stringa vuota.

146
00:10:41,630 --> 00:10:46,400
E il risultato è Djala, per questo è chiamato come una proprietà di identità.

147
00:10:46,640 --> 00:10:49,310
Diamo un'occhiata a questo, diamo un'occhiata a un esempio qui.

148
00:10:49,310 --> 00:10:55,550
Quindi qui vogliamo inventare queste tre string chiamate a e b così che questi sono gradi di uno studente

149
00:10:55,550 --> 00:11:00,770
e vogliamo solo concatenarli e stiamo usando l'operazione più l'operazione di concatenazione in una configurazione in

150
00:11:00,770 --> 00:11:06,920
modo che io usi la mia terza prima partizione li divide in due segmenti uno di loro è uno

151
00:11:07,010 --> 00:11:10,020
e il secondo come gli ultimi due archi.

152
00:11:10,070 --> 00:11:12,800
Un unbe.

153
00:11:12,960 --> 00:11:15,930
E questo è ciò che sta accadendo in ciascuno dei segmenti.

154
00:11:16,010 --> 00:11:17,320
OK in ciascuno dei thread.

155
00:11:17,490 --> 00:11:23,320
Quindi abbiamo l'identità che è una stringa vuota e che è concatenata con a per ottenere il valore.

156
00:11:23,370 --> 00:11:26,490
Quindi quello è il lato sinistro sul lato destro.

157
00:11:26,490 --> 00:11:33,120
Per prima cosa abbiamo avuto l'identità concatenata con una per ottenere otto sotto il valore risultante sarà concatenata Vit

158
00:11:33,120 --> 00:11:35,440
B per ottenere il valore finale.

159
00:11:35,490 --> 00:11:45,410
AB Quindi abbiamo questi due segmenti e i valori accumulati sono a e AB e quindi applichiamo l'operazione di concatenazione ancora

160
00:11:45,410 --> 00:11:50,150
una volta perché la concatenazione verrà applicata a scopo protettivo.

161
00:11:50,150 --> 00:11:57,820
Quindi viene applicato ancora una volta, ottenendo questo valore finale a eb questa è una rappresentazione semplificata di

162
00:11:57,820 --> 00:11:59,490
quel metodo ridotto.

163
00:11:59,680 --> 00:12:06,040
Quindi il falso barometro è io, che in realtà è fuori dall'operazione di sottoproduzione che chiamiamo lo

164
00:12:06,040 --> 00:12:06,570
fa.

165
00:12:06,600 --> 00:12:11,910
E prende due valori di tipo B nel nostro esempio stringa ottiene due stringhe.

166
00:12:11,910 --> 00:12:13,080
Produce una stringa.

167
00:12:14,020 --> 00:12:17,540
Ma sappiamo che l'operazione di concatenazione è costosa.

168
00:12:17,540 --> 00:12:18,890
L'operatore plus è costoso.

169
00:12:18,910 --> 00:12:21,200
Quindi potremmo voler usare un generatore di stringhe.

170
00:12:21,460 --> 00:12:26,110
Diamo un'occhiata a un esempio in cui introdurremo il metodo di utilizzo totale.

171
00:12:26,680 --> 00:12:31,080
Quindi stiamo per concatenare AB con il metodo append e con il builder di stringhe.

172
00:12:31,300 --> 00:12:37,120
Quindi, ancora una volta abbiamo le opzioni e questo è ciò che accade nelle nuove partizioni.

173
00:12:37,120 --> 00:12:39,790
Quindi abbiamo prima il costruttore di stringhe.

174
00:12:39,790 --> 00:12:44,400
OK, così il generatore di stringhe sarà l'identità qui intraprende una stringa vuota.

175
00:12:44,690 --> 00:12:47,050
Io aggiungerei una stringa attraverso di essa.

176
00:12:47,220 --> 00:12:47,490
OK.

177
00:12:47,500 --> 00:12:53,190
Quindi, abbiamo un generatore di stringhe sotto il quale viene aggiunto con questa stringa.

178
00:12:53,740 --> 00:12:55,250
Quindi quelli sono due tipi diversi.

179
00:12:55,270 --> 00:13:01,150
Quindi abbiamo il generatore di stringhe e nella versione precedente del thread abbiamo le corde.

180
00:13:01,400 --> 00:13:01,650
OK.

181
00:13:01,650 --> 00:13:04,660
Entrambi erano dello stesso tipo e producevano una corda.

182
00:13:04,660 --> 00:13:11,030
Ma qui abbiamo due diversi tipi di string builder e string che producono un generatore di stringhe e

183
00:13:11,090 --> 00:13:16,960
sul lato destro ancora una volta stiamo prendendo il builder di stringhe vuoto accodandolo con un

184
00:13:16,960 --> 00:13:25,480
razzo e un generatore di stringhe, quindi quel risultato sarà attivo e sarebbe per ottenere il generatore di stringhe off AB e questo è il

185
00:13:25,480 --> 00:13:26,340
suo aspetto.

186
00:13:26,650 --> 00:13:27,970
Quindi è un accumulatore.

187
00:13:27,970 --> 00:13:33,540
Quindi abbiamo il giusto metodo di utilizzo e abbiamo io che in questo caso è un generatore di stringhe su

188
00:13:33,880 --> 00:13:35,700
quel tipo di IA sei tu.

189
00:13:35,860 --> 00:13:42,610
In questo caso, stiamo costruendo un costruttore con una funzione cumulativa che sta prendendo una U sotto D indisturbata usando

190
00:13:42,670 --> 00:13:43,590
una U.

191
00:13:43,600 --> 00:13:48,990
Quindi in questo caso sarebbe un costruttore di stringhe e Dean corrisponderebbe alla stringa.

192
00:13:49,000 --> 00:13:53,600
Quindi se digiti l'espressione sinistra qui stringa una stringa vuota in alto e in basso.

193
00:13:53,950 --> 00:13:59,430
In questo modo ti dirai in che modo tu e B riuscirai a generare un generatore di corde e le persone a generare distretto.

194
00:13:59,710 --> 00:14:01,500
E sta generando un irrigatore.

195
00:14:01,510 --> 00:14:06,260
Ecco perché abbiamo un generatore di stringhe fuori da a come output sul lato sinistro.

196
00:14:06,260 --> 00:14:07,620
Ora la domanda è.

197
00:14:07,640 --> 00:14:13,710
Quindi dobbiamo stringare sotto snaw on che dobbiamo inventare e aggiungerli per produrre un altro generatore di stringhe.

198
00:14:13,820 --> 00:14:19,730
Ma la loro funzione cumulativa, come puoi vedere, sta prendendo due diversi tipi, A o B iniziano a

199
00:14:19,730 --> 00:14:24,670
prenderti se ti piace nel caso della regolazione precedente che sta prendendo due tipi diversi.

200
00:14:24,770 --> 00:14:28,270
Ma qui come essere fuori a e b fuori da una B.

201
00:14:28,310 --> 00:14:33,510
Quindi, ciò significa che abbiamo bisogno di un'altra funzione e che è chiamata come una funzione combinatore.

202
00:14:33,600 --> 00:14:39,680
Prende due elementi dello stesso tipo e produce un altro tipo su quel valore finale prodotto è

203
00:14:39,680 --> 00:14:42,950
ciò che viene scritto è di un tipo.

204
00:14:43,160 --> 00:14:45,550
Quindi quello sarebbe un altro costruttore di corde.

205
00:14:45,590 --> 00:14:47,710
Ecco cosa sta succedendo qui.

206
00:14:47,990 --> 00:14:50,870
Quindi il combinato non fa altro che il metodo append.

207
00:14:50,900 --> 00:14:54,550
Quindi nel costruttore di stringhe abbiamo caricato tutti i metodi.

208
00:14:54,560 --> 00:15:01,180
Quindi uno di questi abbiamo visto all'interno dell'accumulatore che quel metodo ci stava portando come input.

209
00:15:01,490 --> 00:15:07,700
Ma questo metodo di append che vediamo in basso sta prendendo un generatore di stringhe come parametro.

210
00:15:07,700 --> 00:15:11,660
OK, quindi abbiamo il generatore di stringhe di punti bruciati e la modifica del builder.

211
00:15:11,660 --> 00:15:17,930
Quindi togliendo una stringa da un punto a una penna docstring, ma molto sarebbe produrre una stringa fuori

212
00:15:18,080 --> 00:15:18,950
dal tempo.

213
00:15:18,950 --> 00:15:21,350
Quindi è imbarazzante usare una stringa ma un generatore di stringhe.

214
00:15:22,900 --> 00:15:24,100
Quindi ecco la sintassi.

215
00:15:24,130 --> 00:15:25,260
Ecco un esempio.

216
00:15:25,270 --> 00:15:31,480
Questo indice è lo stesso uso di lettura che assume un'identità e richiede un accumulatore che è una funzione

217
00:15:31,480 --> 00:15:32,380
di byte.

218
00:15:32,380 --> 00:15:40,510
Quindi ti porta sotto D e produce un u poi il combinatore è un operatore binario e impiega e

219
00:15:40,540 --> 00:15:42,070
produce un U.

220
00:15:42,070 --> 00:15:44,110
Quindi l'esempio come l'esempio precedente.

221
00:15:44,110 --> 00:15:49,720
Quindi l'identità è un costruttore di stringhe del cumulo o sta attaccando una stringa del generatore di stringhe

222
00:15:49,830 --> 00:15:55,410
come input e come accodare la stringa alla stringa più tardi. Infine il combinatore sta cuocendo.

223
00:15:55,410 --> 00:16:01,210
Il potenziamento di Bulgars aggiunge al secondo generatore di stringhe il primo generatore di stringhe a produrre il builder

224
00:16:01,210 --> 00:16:02,300
finale di stringhe.

225
00:16:02,320 --> 00:16:04,360
Quindi è bloccato sulla funzione.

226
00:16:04,360 --> 00:16:07,760
Ora andiamo avanti e guardiamo tutto nel codice.

227
00:16:10,000 --> 00:16:10,260
OK.

228
00:16:10,280 --> 00:16:16,570
Qui ci si trova nella classe di operazioni di streaming nel pacchetto chiamato funzione di script semantico su Dot stream.

229
00:16:16,760 --> 00:16:18,710
Qui siamo nel metodo principale.

230
00:16:18,770 --> 00:16:22,550
Quindi dal metodo principale invocheremo metodi diversi.

231
00:16:22,550 --> 00:16:27,710
Quindi uno di questi è che io uso la metrica e passeremo i libri che siamo bravi

232
00:16:27,710 --> 00:16:35,150
a ottenere da fonti diverse e che il metodo ridurrà effettivamente il flusso di elementi per trovare il libro con la base più bassa su

233
00:16:35,150 --> 00:16:40,220
di esso in realtà usa il primo versione di quello ed usi la versione semplicistica più

234
00:16:40,220 --> 00:16:43,870
probabilmente starai usando quel particolare metodo la maggior parte del tempo.

235
00:16:44,140 --> 00:16:47,980
Ma guardate anche la stessa logica ma correte via.

236
00:16:48,310 --> 00:16:51,160
E poi finalmente dare un'occhiata all'ordine o alle indicazioni.

237
00:16:51,170 --> 00:16:53,120
Diamo un'occhiata a questo e usiamo il metodo qui.

238
00:16:54,160 --> 00:16:58,420
Quindi l'obiettivo è trovare il libro con il prezzo più basso con qualcosa di maggiore rispetto al 5 ° trimestre. 5 che significa che stiamo

239
00:16:58,420 --> 00:17:00,360
usando un filtro.

240
00:17:00,370 --> 00:17:04,380
Quindi andiamo avanti e prendiamo libri.

241
00:17:04,560 --> 00:17:06,660
La costruzione tipica del gasdotto è per il

242
00:17:09,590 --> 00:17:10,760
libro e se

243
00:17:14,240 --> 00:17:18,390
la valutazione è superiore o uguale a 4. 5.

244
00:17:18,380 --> 00:17:26,460
Solo allora elaboreremo l'elemento stream in modo tale che utilizzerei maildir e dobbiamo passare

245
00:17:26,460 --> 00:17:29,930
l'acuminato che è l'operazione elettorale.

246
00:17:30,040 --> 00:17:38,310
Quindi avremmo due libri quello per il primo libro B due per il secondo libro e useremo qui

247
00:17:38,440 --> 00:17:39,570
l'operatore ordinario.

248
00:17:39,910 --> 00:17:42,580
Quindi il prezzo è ciò di cui abbiamo bisogno.

249
00:17:42,730 --> 00:17:50,690
Quindi ottieni un prezzo se è inferiore o uguale a B non ottieni il prezzo

250
00:17:54,190 --> 00:17:58,990
fatto che hai finito Beaven è scritto sia vero.

251
00:17:59,030 --> 00:18:03,800
Ora sappiamo che i valori adottivi sono fatti come un'opzione giusta.

252
00:18:03,960 --> 00:18:09,050
E questo avrebbe dovuto valere e dalla nostra lezione precedente sappiamo

253
00:18:09,050 --> 00:18:14,740
che possiamo farci largo uso se non è qui è onnipresente perché un consumatore.

254
00:18:14,750 --> 00:18:19,210
Quindi se il valore ridotto è divertente, vogliamo stamparlo.

255
00:18:19,340 --> 00:18:25,460
Quindi diremo di essere consumatore dopo solo un singolo parametro dice

256
00:18:31,240 --> 00:18:31,910
vomito.

257
00:18:32,350 --> 00:18:33,850
Ed è appena stato battuto.

258
00:18:34,240 --> 00:18:36,690
OK, questo è quello che abbiamo su prima di correre.

259
00:18:36,700 --> 00:18:39,290
Diamo anche un'occhiata al burro fuori dal tribunale.

260
00:18:39,310 --> 00:18:40,650
Quindi questo è un tribunale competitivo.

261
00:18:40,660 --> 00:18:45,590
Hai la lista dei libri e stiamo esaminando i libri usando un seguito.

262
00:18:45,940 --> 00:18:48,510
Quindi hanno accumulato il libro con il prezzo più basso.

263
00:18:48,520 --> 00:18:49,540
Verrebbe memorizzato in questo video.

264
00:18:49,560 --> 00:18:55,280
Ma proprio come qualcuno nel nostro esempio, un esempio che abbiamo visto in questa luce.

265
00:18:55,390 --> 00:18:59,300
Quindi inizialmente il risultato non sarebbe così andremo qui e otterremo questo aspetto.

266
00:18:59,530 --> 00:19:02,940
E vogliamo assicurarci che il libro abbia una valutazione di almeno 4. 5.

267
00:19:02,930 --> 00:19:07,490
Questo è quello che stiamo facendo qui sul primo libro che ha un punteggio maggiore o uguale a 4. 5 sarebbe stato memorizzato in questo

268
00:19:07,500 --> 00:19:09,150
video ma lo è.

269
00:19:09,190 --> 00:19:11,400
E poi avremmo questa dichiarazione continuare.

270
00:19:11,470 --> 00:19:13,130
Continueremo con il resto dei libri.

271
00:19:13,180 --> 00:19:16,440
Ma nella prossima iterazione il risultato non sarebbe tranquillo o no.

272
00:19:16,450 --> 00:19:19,060
Quindi verremmo qui e quel libro.

273
00:19:19,090 --> 00:19:23,180
Vogliamo assicurarci che abbia anche un punteggio maggiore o uguale a 4. 5.

274
00:19:23,470 --> 00:19:27,230
E se lo fa allora possiamo vedere il video dei prezzi.

275
00:19:27,480 --> 00:19:33,880
Qui è con il premio offerto fino al taglio e desiderato sotto più del risultato attuale, quindi aggiorneremmo

276
00:19:33,880 --> 00:19:36,440
la variabile risultante con il nuovo libro.

277
00:19:36,640 --> 00:19:37,350
Questo è quello che facciamo.

278
00:19:37,360 --> 00:19:39,060
Quindi è molto semplice.

279
00:19:39,070 --> 00:19:42,450
Quindi andiamo avanti ed eseguilo.

280
00:19:42,460 --> 00:19:45,030
Quindi come puoi vedere questo è il metodo che userò qui.

281
00:19:45,070 --> 00:19:52,630
La prima versione che ho notato stampa questo titolo Jawa 3 e ha un gioco come una valutazione di fundie o 4. 6 puoi verificarlo in seguito i dati sono dentro che

282
00:19:52,630 --> 00:19:57,580
qui per estrarre il vetro e puoi vedere che abbiamo lo stesso valore qui,

283
00:19:57,580 --> 00:20:03,070
ma sappiamo che morire ma il campo attivo ha questi svantaggi come è ingombrante perché

284
00:20:03,490 --> 00:20:08,530
è molto più complicato qui si basa il bilanciamento sulla sincronizzazione che rallenta la

285
00:20:08,620 --> 00:20:10,050
sincronizzazione di quell'area.

286
00:20:10,060 --> 00:20:15,660
Ma in questo caso che è una variabile mutabile condivisa nel ciclo for come paralizzata.

287
00:20:15,790 --> 00:20:20,930
Quindi con quello non guardiamo l'ultimo che è l'introduzione sovraccaricata.

288
00:20:20,980 --> 00:20:22,840
Quindi intendo solo insolita questa

289
00:20:25,810 --> 00:20:29,150
cosa qui, quindi qui esamineremo le due questioni relative alle elezioni.

290
00:20:29,160 --> 00:20:30,410
Ci sono altri due russi.

291
00:20:30,460 --> 00:20:32,510
Quindi stiamo andando a guardare gli stessi esempi.

292
00:20:33,690 --> 00:20:36,360
Quindi abbiamo i grandi qui come tutti i punti di forza.

293
00:20:36,390 --> 00:20:38,100
Quindi quando dici stream, guardiamo

294
00:20:42,090 --> 00:20:49,040
la seconda versione che prende un'identità che è vuota con due parametri per l'accumulatore, così che si mise

295
00:20:49,040 --> 00:20:50,030
in

296
00:20:53,690 --> 00:20:54,980
guardia in Ishan alla

297
00:20:59,940 --> 00:21:01,080
fine della stringa.

298
00:21:01,120 --> 00:21:10,980
Chiamiamolo concat 1.

299
00:21:11,020 --> 00:21:15,620
Quindi questa è la prima versione su facciamo anche la seconda versione.

300
00:21:15,650 --> 00:21:17,750
Quindi questo assenso all'indietro.

301
00:21:17,990 --> 00:21:24,910
In realtà questo sarebbe un costruttore di stringhe.

302
00:21:24,970 --> 00:21:27,070
Quindi questa è l'identità in questo caso.

303
00:21:27,220 --> 00:21:34,780
Poi avremo l'accumulatore del rotore dell'accumulatore che prenderà un generatore di corde su una corda

304
00:21:34,790 --> 00:21:39,450
che mi serve perché sia Daut che è successo.

305
00:21:39,700 --> 00:21:40,810
Quindi questo è l'accumulatore.

306
00:21:40,810 --> 00:21:43,960
Ora dobbiamo combinare il nostro.

307
00:21:43,990 --> 00:21:50,870
Come abbiamo detto, per i costruttori di stringhe chiamiamo che abbiamo eseguito mentre eseguiamo

308
00:21:55,320 --> 00:21:58,840
il secondo accodamento sovraccaricato di apan.

309
00:21:58,980 --> 00:22:02,740
Quindi per essere SBO questo e basta.

310
00:22:02,740 --> 00:22:20,110
E questo gli farebbe fare un costruttore di pietre a Scarlett concat e stamperà questo.

311
00:22:20,230 --> 00:22:26,770
Quindi questo invocherà il metodo a due stringhe, la stampa e il metodo che potenziano davvero il costruttore di stringhe di metadati.

312
00:22:26,800 --> 00:22:27,370
Quindi è così.

313
00:22:27,370 --> 00:22:28,560
Quindi lasciami andare avanti.

314
00:22:28,600 --> 00:22:37,840
Non sono su questo così come puoi vedere entrambi restituiscono la scena concatenata valore a B.

315
00:22:37,840 --> 00:22:38,940
Quindi è quello che è.

316
00:22:39,010 --> 00:22:45,770
Quindi questi sono i due metodi sovraccaricati su questi valori di ritorno sovraccaricati piuttosto che facoltativi.

317
00:22:45,820 --> 00:22:47,370
Quindi questa è l'unica differenza.

318
00:22:47,740 --> 00:22:51,900
Ma il terzo usa effettivamente una funzione combinatore anche sul secondo.

319
00:22:51,960 --> 00:22:56,240
Se la stringa vuota è vuota, restituirebbe questa identità.

320
00:22:56,680 --> 00:23:01,540
E lo stesso vale con questo che avrebbe scritto come trematore qui e questo dà un costruttore di stringhe vuoto.

321
00:23:01,540 --> 00:23:02,450
Quindi questo è tutto.

322
00:23:02,500 --> 00:23:07,030
Grazie e spero vi sia piaciuto conoscere le operazioni di produzione e la discordia che

323
00:23:07,030 --> 00:23:08,630
saranno disponibili nella sezione risorse.

324
00:23:08,890 --> 00:23:09,280
Grazie.

325
00:23:09,270 --> 00:23:10,170
E felice codifica.
