+6
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
public static List<string[]> split(string s)
{
bool ins = false;
int no = 3;
var L = new List<string>();
var Res = new List<string[]>();
var B = new StringBuilder();
foreach (var c in s)
{
switch (c)
{
case '§':
if (ins)
{
ins = false;
L.Add(B.ToString());
if (no == 0)
{
Res.Add(L.ToArray<string>());
L.Clear();
no = 3;
}
}
else
{
ins = true;
B.Clear();
}
break;
case '|':
if (!ins) { no--; }
else B.Append(c);
break;
default:
if (ins) B.Append(c);
break;
}
}
return Res;
}
Судя по наименованиям - типичная лаба школьника.
Однако, автор - Сошников - евангелист мелкософта. Тот самый, который F# пропагандирует (катается с одной и той же лекцией уже несколько лет по разным конференциям; и, кстати, принимают его всегда восторженно).
Пруф: http://stackoverflow.com/a/36888673/5045688
Запостил: koodeer,
27 Апреля 2016
Dummy00001 28.04.2016 10:58 # +1
просто по быструхе собраный код.
а говно это то что его конечный автомат использует `switch (ch) {` вместо `switch (state) {`. и состояние он тоже "забыл" сделать нормальное. как печально.
kegdan 28.04.2016 12:41 # +1
>>
слышал я его лекцию, после нее начал хаскелль изучать
Суть метода изложи, лень разбираться
wvxvw 28.04.2016 13:43 # +1
Lokich 29.04.2016 17:33 # 0
-A- 24.08.2021 20:44 # 0