手続き型構文:Scala 3で廃止予定の機能(8)

Scala 3.3.1
最終更新:2020年9月20日

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

この記事では、Scala 3で廃止される予定の手続き型構文(Procedure Syntax)について解説します。

手続き型構文は廃止されます

以下のような手続き型構文は廃止されます。

def f() { ... }

手続き型構文とは、メソッドを手続き型言語のメソッドに似せた書き方をすることのできる機能です。

= を省略できるというのが特徴です。

手続き型のプログラミング言語からScalaへと移行する人のために用意されていました。

これからは手続き型構文の代わりに、以下のいずれかの書き方をする必要があります。

def f() = { ... } def f(): Unit = { ... }

必ず=を書く必要があるというのがポイントです。

Unitという戻り値があるのは変わりません。忘れないようにしましょう。

移行は3.0にアップデートしてからでOK

Scala 2.13にて既に非推奨となっていますが、3.0でも使用することができます。

3.0において手続き型構文で書くと、通常ではコンパイルエラーになります。
しかし移行オプション3.0-migrationを設定すると、以前と同様に使用することができます。

さらに、移行オプション3.0-migrationを設定している際にコンパイラオプション-rewriteを設定すると、自動で書き換えてもらえます。

便利ですので、3.0へのアップデート後に行うことをおすすめします。

移行オプションについてはこちらの記事をご覧ください。

サイト内検索