
Pp
12.09.2016
12:39:04
Распилил на несколько списков, склеил через :::, теперь скомпилилось ??
Там scala.js есть кстати

Diemust
12.09.2016
12:39:37
мне кажется, если зафигачить в список через запятую, то заработает

Nick
12.09.2016
12:40:11
если через запятую то точно заработает

Google

Grigory
12.09.2016
12:40:21
да
работает через List(a,b .. )

Pp
12.09.2016
12:40:40
А почему щас не работает?

Grigory
12.09.2016
12:40:47
мб какойто баг конструктора?

Nick
12.09.2016
12:41:05
до этого класса какая вложенность
до вызова метода точнее

Pp
12.09.2016
12:41:56
Не знаю, не оч большая
Короче это та самая особенность компилятора от которой trampolining используют
?

Grigory
12.09.2016
12:42:34
да я проверил на 2.11.8 повторился баг
даже в репле
но я не пробовал асамблею билдить макс раном

Pp
12.09.2016
12:43:25
Когда конструктор в конструкторе вызывают

Google

Pp
12.09.2016
12:43:30
Ад инфинитум

Nick
12.09.2016
13:13:01
сука, ненавижу jackson

Lxk
12.09.2016
13:15:47
коллеги, а тут норм спросить по поводу кода или сразу на стэк позорится? =)

?Ivan
12.09.2016
13:15:58
спрашивай

Lxk
12.09.2016
13:16:12
пытаюсь заанпачить регекс группы в переменные - ловлю эксепшн

Nick
12.09.2016
13:16:25
количество групп совпадает?

Lxk
12.09.2016
13:16:53
ну .foreach(m => println(m.group(1)...) работает
scala> re.findAllMatchIn(s).foreach(m => println(m.group(0), m.group(1), m.group(2))
| )
(Job size: 525.0 GB (525.0 GB,525.0,525.0)
scala> val re(zero,one,two) = s
scala.MatchError: Info Job size: 525.0 GB (525.0 GB provisioned). (of class java.lang.String)
... 33 elided
а вот так нет

Nick
12.09.2016
13:18:14
а че так не по поцанский делаешь
можно ж a match { pattern(g0,g1,g2) =>

Lxk
12.09.2016
13:18:49
дык я вот так эту ошибку и отловил по началу

Nick
12.09.2016
13:19:32
а pattern покеж

Lxk
12.09.2016
13:19:47
val re = """Job size: (\d+?\D\d+?)\s\S{2}\s\((\d+?\D\d+?) \S{2}""".r
val s = "Info Job size: 525.0 GB (525.0 GB provisioned)."

Nick
12.09.2016
13:20:49
у тебя Info перед Job Size

Lxk
12.09.2016
13:21:08
ну я же не ^Job

Grigory
12.09.2016
13:21:09
да тут две группы ток

Lxk
12.09.2016
13:21:36
scala> val re(one,two) = s
scala.MatchError: Info Job size: 525.0 GB (525.0 GB provisioned). (of class java.lang.String)
... 33 elided

Google

Nick
12.09.2016
13:21:48
поставь .*? вначале
и всеж там 3 группы, все выражение тож является группой

Lxk
12.09.2016
13:22:20
scala> val re = """.*?Job size: (\d+?\D\d+?)\s\S{2}\s\((\d+?\D\d+?) \S{2}""".r
re: scala.util.matching.Regex = .*?Job size: (\d+?\D\d+?)\s\S{2}\s\((\d+?\D\d+?) \S{2}
scala> val re(one,two) = s
scala.MatchError: Info Job size: 525.0 GB (525.0 GB provisioned). (of class java.lang.String)
... 33 elided
scala> val re(zero,one,two) = s
scala.MatchError: Info Job size: 525.0 GB (525.0 GB provisioned). (of class java.lang.String)
... 33 elided

Grigory
12.09.2016
13:22:43
пока в скобочку не возьмешь не будет все выражение группой

Lxk
12.09.2016
13:22:46
я это уже пробовал, видимо что то про регексы в скале не понимаю

Grigory
12.09.2016
13:22:59
а что надо в результате?

Lxk
12.09.2016
13:23:21
ну два значения из размеров
525.0 которые
с регексом все норм, он матчит
http://www.regexplanet.com/advanced/java/index.html
вот эта штука показывает 3 группы

Lxk
12.09.2016
13:24:19
0: [9,37] Job size: 525.0 GB (525.0 GB
1: [19,24] 525.0
2: [29,34] 525.0
а погодите
он весь матч реально в 0 завернул получается

Nick
12.09.2016
13:27:05
с чего ты взял что паттер правильный

Lxk
12.09.2016
13:28:11
ну группы то показывает
как просто все в питоне с неймед группами
=)

Nick
12.09.2016
13:29:17
тут тож есть named

Google

Nick
12.09.2016
13:29:58
у меня твои паттерн ничего не вернул
а зачем ты пишешь \d+?\D ?

Lxk
12.09.2016
13:30:54
чтобы не матчит точку

Grigory
12.09.2016
13:31:06
scala> val re = """Job size: (\d+?\D\d+?)\s\S{2}\s\((\d+?\D\d+?) \S{2}""".r
re: scala.util.matching.Regex = Job size: (\d+?\D\d+?)\s\S{2}\s\((\d+?\D\d+?) \S{2}
scala> val s = "Info Job size: 525.0 GB (525.0 GB provisioned)."
s: String = Info Job size: 525.0 GB (525.0 GB provisioned).
scala> re.findAllMatchIn(s).foreach(m => println(m.group(1), m.group(2)))
(525.0,525.0)

Lxk
12.09.2016
13:31:21
да так у меня тоже работает

Nick
12.09.2016
13:32:46
val re = """.*?Job size: (\d+?\D\d+?)\s\S{2}\s\((\d+?\D\d+?) \S{2}.*""".r
val s = "Info Job size: 525.0 GB (525.0 GB provisioned)."
s match {
case re(d1, d2) => println(d1, d2)
case _ => println()
}
бля, гворю ж ставь .*

Lxk
12.09.2016
13:34:13
не матчит же ничего

Nick
12.09.2016
13:34:19
матчит

Lxk
12.09.2016
13:34:27
scala> s match {
| case re(d1,d2) => println(d1,d2)
| case _ => println()
| }
scala>

Admin
ERROR: S client not available

Nick
12.09.2016
13:34:31
re: scala.util.matching.Regex = .*?Job size: (\d+?\D\d+?)\s\S{2}\s\((\d+?\D\d+?) \S{2}.*
s: String = Info Job size: 525.0 GB (525.0 GB provisioned).
(525.0,525.0)
res0: Unit = ()

Lxk
12.09.2016
13:34:34
у тя какая скала? =)

Nick
12.09.2016
13:34:40
хорошая

Lxk
12.09.2016
13:35:50
а в конце точку

Nick
12.09.2016
13:36:17
у тебя просто паттер не подходит
findAllMatchIn работает потому, что совершенно другое делает

Lxk
12.09.2016
13:38:09
да спасибо
0: [0,51] Info Job size: 525.0 GB (525.0 GB provisioned).
1: [19,24] 525.0
2: [29,34] 525.0
немонятно тогда в чем разница

Google

Lxk
12.09.2016
13:38:37
если я беру группы 1 и 2 без нуля

Nick
12.09.2016
13:38:53
в моем коде я делаю строгую проверку строки под паттерн
ты в своем ищешь все вхождения паттерна

Lxk
12.09.2016
13:39:31
и он входит также трижды?

Nick
12.09.2016
13:39:42
в смысле

Lxk
12.09.2016
13:39:50
ну группы 3 в итоге

Nick
12.09.2016
13:39:56
да эт всегда так работает
0 группа это full matching
т.е сама строка

Lxk
12.09.2016
13:41:30
короче какая то немонятка в реализации
просто запомню матчить всю строку целеком
спасибо
а допер экспериментами
сase и анпак хочет полный матч
matchAllIn(s) - пофиг, находит что может

Nick
12.09.2016
13:47:11
exactly)

Lxk
12.09.2016
13:47:24
во, терь я понял что ты пытался сказать
ну .* это ппц
жаль что там не обязательно Info
Note, however, that when Regex is used as an extractor in a pattern match, it only succeeds if the whole text can be matched.
http://www.scala-lang.org/api/rc2/scala/util/matching/Regex.html
*банный стыд =)
написано же...