Scalaスケーラブルプログラミング
17章(ListBuffer)
- ListBufferなら要素の先頭への追加、末尾への追加が一定時間で行える
3 +=: buf
で先頭に追加- 演算子の末尾がコロンの場合、右結合
buf += 1
は+=
というメソッドで、buf = buf + 1
とは異なる。Predefクラスの中で、「Mapはイミュータブルを使う」という設定が定義されている
Scala
typeで別名を付けられる
unapply
とapply
メソッドバッククォートで囲むと予約語も識別子として使える
型クラス(Java Comparetorのようなもの) コンセプトパターン()
- Poor Man's Type Classes
- Adapterパターン
- Haskelからの考え
- ad-hoc polymorphism
SBT
%%
と%
の違い.%%
はScalaのバージョンをアーティファクト名に追加する。
https://www.scala-sbt.org/1.x/docs/ja/Library-Dependencies.htmlsbt pack
: jarファイルを作成sbt packArchive
:tar.gz
ファイルを生成
IntelliJ IDEA
Ctrl+Shift+F
: ファイル検索(Find in Path)ProjectをOpenしたときにResovle Errorが発生 ⇒ DetailでJREを設定していなかったため。
Ctrl+Shift+Q
: Implicit Conversion