## Where communities thrive

• Join over 1.5M+ people
• Join over 100K+ communities
• Free without limits
• Create your own community
##### Activity
• 15:36
SethTisue closed #12436
• 15:09
pikinier20 synchronize #2146
• 15:03
pikinier20 synchronize #2146
• 14:42
mpartel commented #12436
• 14:12
bishabosha commented #12436
• 14:10
bishabosha unassigned #12436
• 14:10
bishabosha assigned #12436
• 10:16
makingthematrix synchronize #2147
• 10:14
makingthematrix opened #2147
• 08:22

lrytz on 2.13.x

Teach backend to emit iinc inβ¦ Merge pull request #9713 from hβ¦ (compare)

• 08:22
lrytz closed #9713
• 08:22
lrytz closed #7452
• 06:59
som-snytt edited #9712
• 06:56
som-snytt synchronize #9712
• 06:16
mpartel opened #12436
• 03:35
harpocrates synchronize #9713
• 03:30
harpocrates synchronize #9713
• 03:11
NthPortal commented #12400
• 02:43
SethTisue labeled #9713
• 02:43
SethTisue labeled #7452
multibot1
@multibot1
warning: method sliding in class StringOps is deprecated (since 2.13.0): Use 's.toSeq.sliding(...).map(_.unwrap)' instead of 's.sliding(...)'
String = 004-448-555-836-1
Andriy Plokhotnyuk
@plokhotnyuk
multibot use Scala 2.13 too :)
Josef
@Josef-Vonasek
! 1 + 1
multibot1
@multibot1
Int = 2
Deepak Singh
@dpk3d
I've little change in case suppose input is "004-44 8553 615 4" -->. Final block or last two block can be of length two β¦ output "004-448 -553 -61-54"
@plokhotnyuk thanks can you give heads up for above case also
Deepak Singh
@dpk3d

Can someone provide the solution for below Problem in Scala::
It's in python I want in scala

https://stackoverflow.com/questions/47448218/find-the-sentence-containing-the-largest-number-of-words-in-a-given-text-codilit

Daniel Gordon
@DanielGGordon

I have this regex with matching groups, and l tested it online via some free regex tester, but in Scala I am having strange results.

  val ProductExtractorRegex: Regex = {
val Product = """.+?""" //name of the product
val Dvn = """[A-Z0-9]{5}"""
val Region = """[A-Z]{2,}"""
val ProductCode = """[A-Z0-9]{5}"""
val ProductSubtype = """[A-Z0-9]{5}"""
val Extension = """(zip|z[0-9]{2})"""
s"($Product)[\\-_]($Dvn)[\\-_]($Region)[\\-_]($ProductCode)[\\-_]($ProductSubtype)\\.($Extension)".r
}

val ProductExtractorRegex(productName, dvn, region, productCode, productSubtypeWithUnderscore, extension) = "SOMEPRODUCT_12345_SOMEREGION_OLELS_SLSLS.z01"

I get a scala.match error on this, and it is because of the ProductSubtype. If I get rid of it, and remove that part from the string - it works. But after I add the ProductSubtype, the match fails. Even though it is a very simple 5x letter string.

Martijn Hoekstra
@martijnhoekstra
nothing strikes me as odd -- do you have test input for it?
Daniel Gordon
@DanielGGordon
"SOMEPRODUCT_12345_SOMEREGION_OLELS_SLSLS.z01" is the test input I'm testing right now
Martijn Hoekstra
@martijnhoekstra
Deepak Singh
@dpk3d
@martijnhoekstra π€π»π
Daniel Gordon
@DanielGGordon
@martijnhoekstra that ProductSubtype was actually supposed to be an optional group, but that didn't work either. Even as non-optional capture group, I get the match error
Martijn Hoekstra
@martijnhoekstra
Extension is two groups
or rather, (Extension) is two groups
Daniel Gordon
@DanielGGordon
it is?
Martijn Hoekstra
@martijnhoekstra
Either remove the parents around Extension, or around its interpolation
Daniel Gordon
@DanielGGordon
OH
jesus
Martijn Hoekstra
@martijnhoekstra
regex, the bread and butter of programming help chat rooms :D
Daniel Gordon
@DanielGGordon
F* me
I spent 2-3 hours on this
That was the issue
Martijn Hoekstra
@martijnhoekstra
:+1:
Daniel Gordon
@DanielGGordon
Really appreciate it
Deepak Singh
@dpk3d
@martijnhoekstra totally agreed dude
Rob Norris
@tpolecat
We need an AI that helps people with regexes.
And another that helps people with cats imports.
(That one could be very simple.)
Martijn Hoekstra
@martijnhoekstra
in fact, I bet I could write a regex for the second one
Rob Norris
@tpolecat
Synergy.
Martijn Hoekstra
@martijnhoekstra
it's kinda lame that you "just" get a match exception, but I don't think you can actually do better
Fabio Labella
@SystemFw
just replaced some regexes with atto, quite pleasant
Rob Norris
@tpolecat
:-)
Eric Peters
@er1c
I have a signature like: def makeAndSetIterableField[V, T <: Iterable[V], F <: ScalarFormField[T]](attrRef: AttributeRef[T], field: F): AttributesFormField[T] that I want to use via: makeAndSetIterableField(attrRef.cast(t) /* Set[Int] */, text[Int](key, name, includeUseValueCheckbox = true)) without being explicit with type parameters makeAndSetIterableField[Int, Set[Int], ...](attrRef.cast(t) /* Set[Int] */, text[Int](key, name, includeUseValueCheckbox = true)) ... I could change the signature to something like: def makeAndSetIterableField[V, T <: Iterable[V], F <: ScalarFormField[T]](attrRef: AttributeRef[_ <: Iterable[V]], field: F): AttributesFormField[T] but then I lose the type T in the attrRef. What am I missing? (and ignore the cast red flag :)
Is this where something like (implicit tag: TypeTag[V]) would help? I guess I could try lol
Sciss
@Sciss
@er1c is V actually used in the method? If not you can remove it and just write T <: Iterable[Any] since Iterable is covariant in its type-parameter.
likewise with the other parameters; if you can make them covariant, you might be able to get rid of T <: Iterable. And again F. Is it important that it is more specific than ScalarFormField? If not, scrap it, and just write field: ScalarFormField[T]
Eric Peters
@er1c
thanks, that gives me some ideas to play with
Ryan Peters
@sloshy

And another that helps people with cats imports.

@tpolecat I'm imagining a The IT Crowd style "Hello, IT... Have you tried import cats.implicits._?" for every new user who joins the chat

Gavin Bisesi
@Daenyth
Don't forget partial-unification :)
Ryan Peters
@sloshy
Actual bot prototype footage https://www.youtube.com/watch?v=PtXtIivRRKQ
Daniel Gordon
@DanielGGordon
is the only reason not to use case classes is because of the performance/memory overhead?
Ryan Peters
@sloshy
@DanielGGordon Sometimes you don't want to provide all of the things case classes do. For example say you have a class that acts as a kind of "refined" type, like a user who most definitely exists. If you base it off of case class you technically still have the copy method available so you could change it to be a user who does not actually exist. So then it's a matter of discipline on whether or not your data is correct anyway.
Rob Norris
@tpolecat
@sloshy we tried that in the header for -Ypartial-unification and it didn't really work.
Ryan Peters
@sloshy
:(
Daniel Gordon
@DanielGGordon
@sloshy oh also maybe you might not want to provide setters. case classes come with setters don't they?
Is there like a list of which methods are generated from case class? Like I know generally speaking getters, setters, apply, unapply, hashcode and toEquals.
Gavin Bisesi
@Daenyth
Setters?