on List class, 355
object, 86, 369, 640 on Map
objects, 95
traits, 385, 386, 558 on Seq objects, 602 on Seq traits, 548
on Set objects, 91
on trait PartialFunction, 333 on FunctionN traits, 188
args variable
in scripts, 75 arguments
command line, in scripts, 75 named, 200
variable length, 199 versus parameters, 834
arithmetic operations (+, -, *, /, %) on numeric types, 128–129
Array class, 378
ArrayBuffer class, 380 arrays, 240, 378
accessed with () not [], 83 cloning, 738
converting to lists, 394 creating and initializing, 85 generic, 580
passing elements as arguments with _*, 200
quick introduction, 82–85 asInstanceOf method
on class Any, 320 assert method
on object Predef, 98, 295
AssertionError class, 295 assertions, 295–297 assignment
result is unit value, 163 associativity, 136–137
right versus left, 87, 136 asynchronous messages, 736
attributes
XML, 657, 662 automatic
boxing, 254 conversion, see implicit
conversion imports, 286–287
auxiliary constructors, 146–147
B backtracking, 784
base classes, see superclasses BDD, see behavior-driven
development BeanProperty annotation, 653,
672n Beck, Kent, 300
behavior-driven development, 302 Beust, Cédric, 301
BigInt class, 51
BigInteger class, 52 Bison, 759
bitwise operations, on integral types logical (&, |, ^, ~), 131
shift (<<, >>, >>>), 132 blank finals (Java)
not in Scala, 404
Bloch, Joshua, 685n, 698n, 706n blocks, definition of, 827 Boolean class, 118, 129 boolean literals, 124
bottom types, 256
bound variables, 167, 195 boxing, of value types, 254 Bracha, Gilad, 522
break keyword (Java) living without, 175
not in match expressions, 174 break method
on class Breaks, 177 breakable method
on class Breaks, 177 Breaks class, 177