Skip to content

Instantly share code, notes, and snippets.

@Centaur
Created April 11, 2012 14:06
Show Gist options
  • Save Centaur/2359514 to your computer and use it in GitHub Desktop.
Save Centaur/2359514 to your computer and use it in GitHub Desktop.
For 阿丑
def doSomethingIfNoNull(name:String, password:String, other:String, doSomething: =>String): Option[String] = {
for(n <- Option(name);
p <- Option(password);
o <- Option(other))
yield(doSomething)
}
assert(doSomethingIfNoNull("abc", null, "cde", "Do something") == None)
assert(doSomethingIfNoNull(null, "abc", "cde", "Do something") == None)
assert(doSomethingIfNoNull("abc", "cde", null, "Do something") == None)
assert(doSomethingIfNoNull("abc", "cde", "fgh", "Do something") == Some("Do something"))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment