---
title: "Scala | CoderPad"
description: "Learn more about Scala from CoderPad."
canonical: "https://coderpad.io/languages/scala/"
last_modified: "2023-04-17 04:02:56"
---
# Scala online IDE & code editor for technical interviews

Running Scala 2.13 – IntelliSense is not available

### Experience the Scala IDE yourself

See just how easy and intuitive CoderPad Interview is to use below.

[Launch the environment](https://embed.coderpad.io/sandbox?question_id=247212&use_question_button)

## Guidelines to use Scala in this online IDE

You should define an object named`Solution`that extends`App`, like so:

```
object Solution extends App {
  for (i <- 0 until 5) println("Hello, world!")
}Code language: Scala (scala)
```

Alternatively, you can forego using the`App`trait helper and define`main`yourself:

```
object Solution {
  def main(args: Array[String]) = {
    println("Hello, world!")
  }
}Code language: Scala (scala)
```

We include the Scala testing libraries [ScalaCheck](https://www.scalacheck.org/) and [ScalaTest](http://www.scalatest.org/) for your convenience. Here’s a quick example of using ScalaTest driven by ScalaCheck generators:

```
import org.scalatest.freespec.AnyFreeSpec

class SetSpec extends AnyFreeSpec {

  "A Set" - {
    "when empty" - {
      "should have size 0" in {
        assert(Set.empty.size === 0)
      }

      "should produce NoSuchElementException when head is invoked" in {
        assertThrows[NoSuchElementException] {
          Set.empty.head
        }
      }
    }
  }
}

object Solution extends App {
  new SetSpec().execute()
}Code language: Scala (scala)
```

Here’s a quick rundown of the Scala libraries we have installed:

```
libraryDependencies ++= Seq (
  "com.chuusai"     %% "shapeless"                    % "2.3.7",
  "org.scalacheck"  %% "scalacheck"                   % "1.15.4",
  "org.scalactic"   %% "scalactic"                    % "3.2.10",
  "org.scalamock"   %% "scalamock"                    % "5.1.0",
  "org.scalatest"   %% "scalatest"                    % "3.2.10",
  "org.scalaz"      %% "scalaz-core"                  % "7.3.5",
  "org.typelevel"   %% "cats-core"                    % "2.6.1"
)Code language: Scala (scala)
```

Additionally, these Java libraries are available. Simply import and use as desired:

- [json-simple](https://code.google.com/p/json-simple) for parsing/encoding JSON.The google code project page has some [useful examples](https://code.google.com/p/json-simple/wiki/EncodingExamples).
- [guava](https://code.google.com/p/guava-libraries) provides immutable collections and other handy utility classes.
- [junit](http://junit.org/), the gold standard for testing in Java, but quite usable in Scala as well.import org.junit.Test

```
import org.junit.Test
import org.junit.runner.JUnitCore
import org.junit.Assert

class TestClass {
  @Test def testNoop() = {
    Assert.assertTrue(true)
  }
}

object Solution {
  def main(args: Array[String]) = {
    JUnitCore.main("TestClass")
  }
}Code language: Scala (scala)
```
- [jMock](http://www.jmock.org/), a library to assist with mocking in Java. The homepage has some useful examples, and can be adapted for Scala, too.

## Need a better way to interview candidates?

[Request a demo](https://coderpad.io/sales/)
