Skip to content

Instantly share code, notes, and snippets.

@halcat0x15a
Created December 2, 2011 13:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save halcat0x15a/1423217 to your computer and use it in GitHub Desktop.
Save halcat0x15a/1423217 to your computer and use it in GitHub Desktop.
case class ScalaChan()
implicit def ScalaChanEqual: Equal[ScalaChan] = new Equal[ScalaChan] {
def equal(a1: ScalaChan, a2: ScalaChan): Boolean = a1 == a2
}
implicit def ScalaChanEqual: Equal[ScalaChan] = equal(_ == _)
implicit def ScalaChanEqual: Equal[ScalaChan] = equalA
assert(ScalaChan() === ScalaChan())
scala> 1 === 1
res39: Boolean = true
scala> 1 /== 1
res41: Boolean = false
scala> 1 /== 1L
<console>:23: error: type mismatch;
found : Long(1L)
required: Int
1 /== 1L
^
assert("Scalaz" ≟ "Scalaz")
assert("Scalaちゃん" ≠ "Scalaz")
scala> "Scalaz" assert_=== "Scalaz"
scala> "Scalaちゃん" assert_=== "Scalaz"
java.lang.RuntimeException: Scalaちゃん ≠ Scalaz
at scalaz.Scalaz$.error_(Scalaz.scala:100)
at scalaz.Identity$class.assert_$eq$eq$eq(Identity.scala:32)
at scalaz.Identity$$anon$1.assert_$eq$eq$eq(Identity.scala:169)
.
.
.
.
scala> "Scalaちゃん" assert_≟ "Scalaちゃん"
val i: Identity[Int] = 1
val a: Int = i
"Scalaz" ?? "Scalaちゃん" assert_=== "Scalaz"
(null: String) ?? "Scalaちゃん" assert_=== "Scalaちゃん"
1 |> (_ + 1) assert_=== 2
1 |> Option.apply assert_=== Some(1)
1.some assert_=== Some(1)
1.right[String] assert_=== Right(1)
"Scalaちゃん".left[Int] assert_=== Left("Scalaちゃん")
"ゲソ".pair.assert_===(("ゲソ", "ゲソ"))
"ゲソ".pair assert_=== "ゲソ".squared
1.whileDo(_ + 1, _ < 10) assert_=== 10
"Scala".doWhile({ s => println(s); readLine }, _ != "Scalaz") assert_=== "Scalaz"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment