|
Scala example source code file (complicatedmatch.scala)
The Scala complicatedmatch.scala source codeobject Bar{ def unapply(x : String) = x == "bar"; } object Even{ def unapply(x : Int) = if (x % 2 == 0) Some(x / 2) else None; } object Test extends App{ val LongWord = "supercalifragilisticexpialadocious"; def foo(x : Int, y : String) : Int = (x, y) match { case (Even(i), "bar") => 1 case (1 | 2 | 3, "foo") => 42; case (x, y) if y.length < x => 11; case (1 | 2 | 3, Bar()) => 7; case (1 | 2 | 3, "bar") => 8 case (Even(Even(3)), Bar()) => 13; case (Even(Even(3)), LongWord) => 13; case _ => 0; } List( 2 -> "bar", 2 -> "foo", 3 -> "foo", 7 -> "flob", 3 -> "bar", 12 -> LongWord ).foreach({case (x, y) => println(foo(x, y))}); } Other Scala examples (source code examples)Here is a short list of links related to this Scala complicatedmatch.scala source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.