[scala/en] Added REPL basics to help people experiment as they learn.

This commit is contained in:
Micah 2015-10-25 13:08:12 -04:00
parent ac4bb69e02
commit f1b64fb6a6

View File

@ -12,22 +12,62 @@ Scala - the scalable language
```scala
/////////////////////////////////////////////////
// 0. Basics
/////////////////////////////////////////////////
/*
Set yourself up:
Setup Scala:
1) Download Scala - http://www.scala-lang.org/downloads
2) Unzip/untar to your favourite location and put the bin subdir in your `PATH` environment variable
3) Start a Scala REPL by running `scala`. You should see the prompt:
scala>
This is the so called REPL (Read-Eval-Print Loop). You may type any Scala
expression, and the result will be printed. We will explain what Scala files
look like further into this tutorial, but for now, let's start with some
basics.
*/
/*
Try the REPL
Scala has a tool called the REPL (Read-Eval-Print Loop) that is anologus to
commandline interpreters in many other languages. You may type any Scala
expression, and the result will be evaluated and printed.
The REPL is a very handy tool to test and verify code. Use it as you read
this tutorial to quickly explore concepts on your own.
*/
// Start a Scala REPL by running `scala`. You should see the prompt:
$ scala
scala>
// By default each expression you type is saved as a new numbered value
scala> 2 + 2
res0: Int = 4
// Default values can be reused. Note the value type displayed in the result..
scala> res0 + 2
res1: Int = 6
// Scala is a strongly typed language. You can use the REPL to check the type
// without evaluating an expression.
scala> :type (true, 2.0)
(Boolean, Double)
// REPL sessions can be saved
scala> :save /sites/repl-test.scala
// Files can be loaded into the REPL
scala> :load /sites/repl-test.scala
Loading /sites/repl-test.scala...
res2: Int = 4
res3: Int = 6
// You can search your recent history
scala> :h?
1 2 + 2
2 res0 + 2
3 :save /sites/repl-test.scala
4 :load /sites/repl-test.scala
5 :h?
// Now that you know how to play, let's learn a little scala...
/////////////////////////////////////////////////
// 1. Basics