Skip to content

Instantly share code, notes, and snippets.

View Yotamho's full-sized avatar
😃

Yotam Hochman Yotamho

😃
  • Israel
View GitHub Profile
@jpallari
jpallari / Main.scala
Last active February 5, 2024 08:29
Ways to pattern match generic types in Scala
object Main extends App {
AvoidLosingGenericType.run()
AvoidMatchingOnGenericTypeParams.run()
TypeableExample.run()
TypeTagExample.run()
}
class Funky[A, B](val foo: A, val bar: B) {
override def toString: String = s"Funky($foo, $bar)"
}
@vlfig
vlfig / TestCaseClassInterning.scala
Created September 20, 2012 17:27
Traits to easily make classes intern their instances assuring no duplicates exist at runtime. Don't forget to check your equals and hashCode.
import scala.collection.mutable.WeakHashMap
/**
* Utility traits for classes whose companion objects are to
* intern their instances, never creating repeated objects.
*
* Instances are cached based on their immutable
* arguments, as provided to companion object's {{apply()}}.
*/
@moole
moole / GPS_coord_regexp
Created September 12, 2012 14:47
GPS coordinate regular expression
FLOAT NUMBER \f
((?:[\+-]?[0-9]*[\.,][0-9]+)|(?:[\+-]?[0-9]+))
DEGREE SEPARATOR \ds
[^ms'′"″,\.\dNEWnew]
MINUTE SEPARATOR \ms
[^ds°"″,\.\dNEWnew]
SECOND SEPARATOR \ss
@worthlesscog
worthlesscog / gist:3060273
Created July 6, 2012 13:53
Polymorphic JSON unmarshall with Jackson in Scala
import org.codehaus.jackson.annotate.{ JsonTypeInfo, JsonSubTypes, JsonProperty }
import org.codehaus.jackson.annotate.JsonSubTypes.Type
import org.codehaus.jackson.map.ObjectMapper
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "type")
@JsonSubTypes(Array(
new Type(value = classOf[Bingo], name = "x"),
new Type(value = classOf[Bongo], name = "y"),
new Type(value = classOf[Bungo], name = "z")
))