@scala_ru

Страница 79 из 1499
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

*банный стыд =)

написано же...

Страница 79 из 1499