alvin's blog

Initialize Scala variables with Option, None, and Some (not null)

Summary: How to properly use the Scala Option/Some/None idiom to initialize empty var fields -- and specifically how not to use null values for the same purpose.

When you get started in the Scala world, you quickly learn that null values are a bad thing. Scala makes it easy to replace null values with something better, and that something better is what I call the Option/Some/None pattern (or idiom).

A Scala shell script example (and discussion)

Scala shell script FAQ: How do I create a Unix/Linux shell script to run a small Scala script?

If you want to run a Scala script as a Unix or Linux shell script -- such as hello.sh -- write your script like this:

Scala List class examples - range, fill, tabulate, appending, foreach, more ...

Scala List FAQ: Can you share some Scala List class examples?

The Scala List class may be the most commonly used data structure in Scala applications. Therefore, it's very helpful to know how create lists, merge lists, select items from lists, operate on each element in a list, and so on.

In this tutorial, I'll try to share examples of the most common List operations (methods).

Five ways to create a Scala List

Scala List class FAQ: How do I create a List in Scala?

You can create a Scala List in several different ways, including these approaches:

Scala - Using reduceLeft to get the max or min value from a collection

Scala collections FAQ: Can you share an example that shows how to get the max or min value from a collection using the Scala reduceLeft collections method?

I don't have much time today, but sure, here's a quick example. The following code will determine which student has the max (top/high) score:

Scala currency and money libraries (JVM-based libraries)

I've been trying to find some good Scala currency and money libraries lately, and I just ran across the following list of projects on the Joda Money Github project. That URL contains the following list of Java and JVM-based projects that should all be usable in Scala:

Scala type annotations (and ascription)

Summary: A discussion of Scala type annotations and type ascription.

While Scala normally determines the type you want to use automatically, such as this Int:

scala> val x = 1
x: Int = 1

there may be times you want to control the type, such as if you want a Byte, Short, Long, Double, Float, etc. In these cases you can annotate your type when you create it, like this:

Scala money and currency - The BigDecimal class and libraries

Note: I don't have any immediate solutions in this article; it's more of a discussion of where I'm at today when looking at handling money/currency in Scala.

As a quick note, I've started to look at handling money/currency in Scala, and I'm also starting to explore a couple of money/currency libraries.

A Scala 2.10 implicit class example

Scala FAQ: Can you share an example of how to create an implicit class in Scala 2.10?

Sure. As your question implies, the implicit class functionality changed in Scala 2.10, so let's take a look at the new syntax.

How to set the Scala version in the SBT build.sbt configuration file

SBT FAQ: How do I set the desired Scala compiler version in the SBT build.sbt configuration file?

Set the value of the scalaVersion variable in your SBT build.sbt file. For instance, to use Scala 2.9.2, put an entry like this in the build.sbt file:

scalaVersion := "2.9.2"

To use Scala 2.10.0, put an entry like this in the build.sbt file:

Syndicate content