Skip to content

Instantly share code, notes, and snippets.

@nilium
Forked from nddrylliog/compare.ooc
Created January 23, 2010 19:47
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 nilium/284759 to your computer and use it in GitHub Desktop.
Save nilium/284759 to your computer and use it in GitHub Desktop.
Nut: class {
cracker: Int
init: func(cracker: Int) {
this cracker = cracker
}
bust: func {
cracked *= 5
}
}
operator <=> (n1, n2: Nut) -> Int { n1 cracker > n2 cracker ? 1 : (n1 cracker < n2 cracker ? -1 : 0) }
main: func {
n1 := Nut new(42)
n2 := Nut new(217)
printf("%3d < %3d ? %d\n", n1 cracker, n2 cracker, n1 < n2)
printf("%3d > %3d ? %d\n", n1 cracker, n2 cracker, n1 > n2)
n1 bust
n2 bust
printf("%3d >= %3d ? %d\n", n1 cracker, n1 cracker, n1 >= n1)
printf("%3d <= %3d ? %d\n", n2 cracker, n1 cracker, n2 <= n1)
n1 bust
n2 bust
printf("%3d == %3d ? %d\n", n1 cracker, n1 cracker, n1 == n1)
printf("%3d == %3d ? %d\n", n1 cracker, n2 cracker, n1 == n2)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment