sbt ConsoleでHello! Worldをしてみる方法

Scala 3 (Dotty 0.26.0-RC1) 2.13.3 2.12.12
最終更新:2020年5月19日

[AD] scalapediaでは記事作成ボランティアを募集しています

この記事では、「sbtをインストールしたし、早速Scalaのコードを触ってみようかな!」という方のために、sbtコンソールを使って「Hello! World」をする手順を解説します。

sbtコンソールを使うと、Scalaのコードをお手軽に動かしてみることができます。

「Hello! World」とは、"Hello! World"という文字列を画面に出力することです。
プログラミング言語の学習をしていく際に最初の一歩として恒例となっているステップです。

sbtをまだインストールできていないという方はこちらの記事をご覧ください。

では、早速試してみましょう。

専用ディレクトリを作成する

まずはsbtを実行するためのディレクトリを用意します。

sbtは、適当な場所で実行すると、いろいろなファイルやディレクトリが生成されてしまいます。
これを避けるために、sbtを実行するためのディレクトリを作成します。

ここではsbtSampleというディレクトリを作成し、その中でsbtを実行することにします。
このようにすることで、sbtの生成物を一つのフォルダ内にまとめておくことができます。

shell script
mkdir sbtSample cd sbtSample

なぜこのようなことになるのかというと、sbtは、sbtを実行したディレクトリについて、sbtのプロジェクトのディレクトリだとみなすからです。
たとえsbtの設定ファイルがなくても、です。

つまり今回の例では、sbtはsbtSampleというプロジェクトだとみなしているわけです。

今後、本格的にScalaのプログラムを開発していく場合には、このプロジェクトに設定ファイルやソースコードを追加していけばOKです。

sbtを起動する

さて、それではsbtを起動してみましょう。
sbtコマンドを実行すると、sbtシェルが起動します。

初回は、かなりの時間をかけて大量のファイルを取得するので、注意してください。
sbtシェルが入力を受け付け始めたらOKです。

shell script
$ sbt [info] [launcher] getting org.scala-sbt sbt 1.3.7 (this may take some time)... :: loading settings :: url = jar:file:/usr/local/Cellar/sbt/1.3.7/libexec/bin/sbt-launch.jar!/org/apache/ivy/core/settings/ivysettings.xml downloading file:////Users/default/.sbt/preloaded/org/scala-sbt/main-settings_2.12/1.3.7/main-settings_2.12-1.3.7.jar ... downloading file:////Users/default/.sbt/preloaded/org/scala-sbt/run_2.12/1.3.7/run_2.12-1.3.7.jar ... ...(中略)... https://repo1.maven.org/maven2/io/get-coursier/lm-coursier-shaded_2.12/2.0.0-RC5-3/lm-coursier-shaded_2.12-2.0.0-RC5-3.jar 100.0% [##########] 7.3 MiB (4.1 MiB / s) [info] Fetched artifacts of [info] Set current project to sbtsample (in build file:/Users/default/dev/sbtSample/) [info] sbt server started at local:///Users/default/.sbt/1.0/server/2cbc2751edd16cafe1bc/sock sbt:sbtsample>

sbtコンソールを起動する

sbtシェル内でconsoleコマンドを実行すると、sbtコンソールを起動することができます。

sbtコンソールも、初回の起動には多少時間がかかるので、注意してください。
sbtコンソールが入力を受け付け始めたらOKです。

sbtshell
sbt:sbtsample> console [info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.10. Compiling... [info] Compilation completed in 4.723s. [info] Starting scala interpreter... Welcome to Scala 2.12.10 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_211). Type in expressions for evaluation. Or try :help. scala>

sbtコンソールでHello! Worldをする

それでは、「Hello! World」をしてみましょう。
Scalaで画面に"Hello! World"という文字列を出力するには、以下のようなプログラムを記述すればOKです。

println("Hello! World")

ここではprintlnメソッドを使っています。

メソッドとは、処理のことです。
printlnメソッドを使うことで、「文字列を画面に出力する」という処理を行うことができます。

printlnメソッドは、引数に文字列を受け取ります。
引数とは、処理をするにあたって必要となるデータのことです。

文字列はダブルクォーテーション" "で囲った部分です。

このコードの実行結果は以下のようになります。

Hello! World

このように、画面への出力が完了したことをご確認ください。

Hello! World

サイト内検索