val results =
List(yahoo _, google _).par.map(_.apply)
Slide 8
Slide 8 text
import scala.actors.Futures._
val results = List(yahoo _, google _) map (
f 㱺 future{ f() } ) map (_.apply)
Slide 9
Slide 9 text
Option, for comprehensions,
flatMap & pattern matching are
astonishingly useful every day
and I’d never heard of them
before learning Scala.
Slide 10
Slide 10 text
for (int i = 0; i < resultFeed.getEntries().size(); i++) {
ContactEntry entry = resultFeed.getEntries().get(i);
if (entry.hasName()) {
Name name = entry.getName();
if (name.hasFullName()) {
...
Slide 11
Slide 11 text
for { entry ← resultFeed.getEntries
name ← Option(entry.getName)
full_name ← Option(name.getFullName)
birthday ← Option(entry.getBirthday)
} yield "%s: %s".format(full_name.getValue, when)
Slide 12
Slide 12 text
1. Thinking in terms of A 㱺 B
2. Concurrency
3. Option (& friends) change everything
Summary
Slide 13
Slide 13 text
StringBuffer b = new StringBuffer(tweet);
if (tags != null) {
for(String tag: tags) {
if (tag != null && b.indexOf(tag) == -1) {
b.append(tag).append(“ ”);
}
}
}
return b.toString();