Size: a a a

Scala User Group

2021 August 04

SB

S B in Scala User Group
о времена, о нравы
источник

SK

Sergey Klimov in Scala User Group
нельзя матчить 1 значение и ждать tuple в том виде, в котором ты написал
источник

SB

S B in Scala User Group
тогда и так значит нельзя. я-то хочу компакто это записать, чтоб внукам не стыдно было в рамочке показывать
источник

SB

S B in Scala User Group
но ваще по-идее можно же. анплай развернет строку в тройку. я еще не вкурил доки до конца, но морально уже отказался от анаплая.
источник

SK

Sergey Klimov in Scala User Group
вот это достаточно компактно?
источник

S

Simon in Scala User Group
Компактно записать можно. Для каждого варианта записи есть соответствующая форма unapply. См. доки
Тебе их даже все написали
источник

SB

S B in Scala User Group
там в итоге будет что-то в духе
case LineSep => ...
case Header => ...
case Body(param1, param2) => ...
case Footer(param1) => ...
источник

SB

S B in Scala User Group
и все они сигнатуры option
источник

SB

S B in Scala User Group
string => Option[LineSep], etc.
источник

SK

Sergey Klimov in Scala User Group
Ты понимаешь для чего там Option то нужен?
источник

N

Nikolai in Scala User Group
А почему обязательно опшн?
источник

KC

Kain Crow in Scala User Group
Чтобы что?
источник

N

Nikolai in Scala User Group
Так не сработает. У тебя тогда будет case LineSep(LineSep)
источник

S

Simon in Scala User Group
это не скала. это какой-то другой язык. в scala у unapply другая сигнатура
источник

KC

Kain Crow in Scala User Group
Еще раз, возвращаемый тип, если там не булеан, это то что будет в кейсе в скобках
источник

SB

S B in Scala User Group
да потому что строка может быть чем угодно, кроме LineSep например. в таком случае ты получишь None. это даже не мой код, это наследие.
источник

SB

S B in Scala User Group
там не анплай, там свои def myFunc'и. это уже я подумал своей светлой головой впихнуть это в анплай.
источник

SB

S B in Scala User Group
думал, что-то выиграть так.
источник

S

Simon in Scala User Group
еще раз: в этом случае там должен быть Boolean c false.
Если вам дали поддерживать кривой код - правьте его.
источник

SB

S B in Scala User Group
да я забью просто на анплай и все, руками код напишу, чего уж.
источник