Learning Scala (2015)
Appendix A. Reserved Words
Table A-1 displays the reserved words in Scala. Reserved words are part of the Scala language definition, and cannot be used as identifiers. To keep the definitions concise, I have used “class” where “class, object, and trait” may be more accurate.
Table A-1. Scala’s reserved words
|
Name |
Description |
|
_ |
The wildcard operator, representing an expected value. |
|
: |
Delimits a value, variable, or function from its type. |
|
@ |
Defines an annotation for a class or its member. Annotations are a JVM feature but are seldomly used in Scala, with @annotation.tailrec being a popular exception. |
|
# |
A type projection, which delimits a type from its subtype. |
|
<- |
Delimits a generator from its identifier in a for-loop. |
|
← |
A single-character (\u2190) alternative to <-. |
|
<: |
The upper-bound operator, restricting types to those that are equal to or extend the given type. |
|
<% |
The view-bound operator, allowing any type that may be treated as the given type. |
|
= |
The assignment operator. |
|
=> |
Used in match expressions and partial functions to indicate a conditional expression, in function types to indicate a return type, and in function literals to define the function body. |
|
⇒ |
A single-character (\u21D2) alternative to =>. |
|
>: |
The lower-bound operator, restricting types to those that are equal to or are extended by the given type. |
|
abstract |
Marks a class or trait as being abstract and uninstantiable. |
|
case |
Defines a matching pattern in match expressions and partial functions. |
|
catch |
Catches an exception. An alternate syntax that predates the util.Try monadic collection. |
|
class |
Defines a new class. |
|
def |
Defines a new method. |
|
do |
Part of the do..while loop definition. |
|
else |
The second part of an if..else conditional expression. |
|
extends |
Defines a base type for a class. |
|
false |
One of the two Boolean values. |
|
final |
Marks a class or trait as being nonextendable. |
|
finally |
Executes an expression following a try block. An alternate syntax that predates the util.Try monadic collection. |
|
for |
Begins a for-loop. |
|
forSome |
Defines an existential type. Existential types are a flexible method for specifying type requirements, but are discouraged in general Scala development. See SIP-18 (Scala Improvement Process #18) for details on why existential types are considered an “opt-in” feature in Scala. |
|
if |
The first part of an if..else conditional expression, or the main part of an if conditional statement. |
|
implicit |
Defines an implicit conversion or parameter. |
|
import |
Imports a package, class, or members of a class to the current namespace. |
|
lazy |
Defines a value as being lazy, only defined the first time it is accessed. |
|
match |
Begins a match expression. |
|
new |
Creates a new instance of a class. |
|
null |
A value that indicates the lack of an instance. Has the type Null. |
|
object |
Defines a new object. |
|
override |
Marks a value or method as replacing the member of the same name in a base type. |
|
package |
Defines the current package, an incremental package name, or a package object. |
|
private |
Marks a class member as being inaccessible outside the class definition. |
|
protected |
Marks a class member as being inaccessible outside the class definition or its subclasses. |
|
return |
Explicitly states the return value for a method. By default, the last expression in a method is used as the return value. |
|
sealed |
Marks a class as only allowing subclasses within the current file. |
|
super |
Marks a class member reference as one in the base type, versus one overridden in the current class. |
|
this |
Marks a class member reference as one in the current class, versus a parameter with the same name. |
|
throw |
Raises an error condition that breaks the current flow of operation and only resumes if the error is caught elsewhere. |
|
trait |
Defines a new trait. |
|
true |
One of the two Boolean values. |
|
try |
Marks a range of code for catching an exception. An alternate syntax that predates the util.Try monadic collection. |
|
type |
Defines a new type alias. |
|
val |
Defines a new, immutable value. |
|
var |
Defines a new, mutable variable. |
|
while |
Part of the do..while loop definition. |
|
with |
Defines a base trait for a class. |
|
yield |
Yields the return value from a for-loop. |
WHERE ARE MY FAVORITE :: AND ++ OPERATORS?
The :: and ++ operators are valid method identifiers, not reserved words. The Scala collections library defines methods with these identifiers, which means you can also use them for your own methods.
All materials on the site are licensed Creative Commons Attribution-Sharealike 3.0 Unported CC BY-SA 3.0 & GNU Free Documentation License (GFDL)
If you are the copyright holder of any material contained on our site and intend to remove it, please contact our site administrator for approval.
© 2016-2026 All site design rights belong to S.Y.A.