Scala

【備忘録】Scala

Scala初心者がScala勉強中に覚えたことなどをまとめます。
間違ったことを書いている可能性があります。

Intelli IDEA関係

プロキシ環境でのIntelliJ IDEA with SBT

設定箇所が多いです。
プロキシ環境でのIntelliJ IDEA with SBT

ツールチップのコピー

Alt+左クリックでできます。
https://teratail.com/questions/118916

libraryDependenciesが反映されない

テストとテストサブジェクトの間を移動する

対応する括弧に移動する

Ctlr+Shift+Mで対応する括弧に移動できる。
https://pleiades.io/help/idea/navigating-to-braces.html

Scala構文関係

sealed

  • sealed修飾子:サブクラス/トレイトは同じファイル内にしか定義できない

caseクラスはnewが不要

case classとcase objectの違い

sealed abstract class DayOfWeek
case object Sunday extends DayOfWeek

sealed abstract class Exp
case class Add() extends Exp

Pattern type is incompatible with expected type, found: UnknownToken.type, required

「 warning: Token and EndToken.type are unrelated: they will most likely never compare equal」

ScalaTest関係

  • ===で値を比較する

  • +-でトレランスが比較できる

SBT

build.sbtを修正したら、reloadコマンドを実行すること

いつも忘れます。。。
https://www.scala-sbt.org/1.x/docs/Command-Line-Reference.html

難しいと感じところ、詰まったところ

newを付けるべきかどうか

ScalaTestでcaseクラスの比較は?

電卓プログラムで参考にしたサイト

https://qiita.com/quwahara/items/d7ea5d0e0dbc0409a01f