Skip to content

Instantly share code, notes, and snippets.

Created July 5, 2017 17: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 anonymous/0ca4d30911f6101d70053d2f6ac86d57 to your computer and use it in GitHub Desktop.
Save anonymous/0ca4d30911f6101d70053d2f6ac86d57 to your computer and use it in GitHub Desktop.
the description for this gist
// ...
def area(rectangle: Binding[Rectangle]) = Binding {
val Rectangle(width, height) = rectangle.bind
width * height
}
def areaPrinter(area: Binding[Int], label: String) = Binding {
println(s"${label}'s area: ${area.bind}")
}
areaPrinter(area(rectangle), "Rectangle").watch()
// More rectangles? No problem!
val anotherRectangle = Rectangle(1, 1)
areaPrinter(area(anotherRectangle), "AnotherRectangle").watch()
anotherRectangle := Rectangle(2, 2)
rectangle := Rectangle(1, 5)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment