よく使うし便利なのでメモ
インストールしたら、amm
で起動できる。
ᐅ amm Loading... Compiling (synthetic)/ammonite/predef/interpBridge.sc Compiling (synthetic)/ammonite/predef/replBridge.sc Compiling (synthetic)/ammonite/predef/DefaultPredef.sc Welcome to the Ammonite Repl 1.1.0 (Scala 2.12.4 Java 1.8.0_152) If you like Ammonite, please support our development at www.patreon.com/lihaoyi
例えば、cats-coreをその場で読み込む
@ import $ivy.`org.typelevel::cats-core:1.0.0` https://repo1.maven.org/maven2/org/typelevel/cats-core_2.12/1.0.0/cats-core_2.1… 100.0% [##########] 4.6 KiB (7.4 KiB / s) https://repo1.maven.org/maven2/org/typelevel/cats-macros_2.12/1.0.0/cats-macros… 100.0% [##########] 4.1 KiB (9.7 KiB / s) https://repo1.maven.org/maven2/org/typelevel/cats-kernel_2.12/1.0.0/cats-kernel… 100.0% [##########] 3.9 KiB (9.0 KiB / s) https://repo1.maven.org/maven2/org/typelevel/machinist_2.12/0.6.2/machinist_2.1… 100.0% [##########] 1.7 KiB (3.9 KiB / s) https://repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.12.0/scala-reflec… 100.0% [##########] 1.8 KiB (15.0 KiB / s) https://repo1.maven.org/maven2/org/typelevel/cats-macros_2.12/1.0.0/cats-macros… 100.0% [##########] 6.0 KiB (46.9 KiB / s) https://repo1.maven.org/maven2/org/typelevel/machinist_2.12/0.6.2/machinist_2.1… 100.0% [##########] 32.9 KiB (124.9 KiB / s) https://repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.12.0/scala-reflec… 100.0% [##########] 3.4 MiB (2.2 MiB / s) https://repo1.maven.org/maven2/org/typelevel/cats-core_2.12/1.0.0/cats-core_2.1… 100.0% [##########] 3.7 MiB (2.1 MiB / s) https://repo1.maven.org/maven2/org/typelevel/cats-kernel_2.12/1.0.0/cats-kernel… 100.0% [##########] 3.0 MiB (1.6 MiB / s) https://repo1.maven.org/maven2/org/typelevel/cats-macros_2.12/1.0.0/cats-macros… 100.0% [##########] 1.1 KiB (9.4 KiB / s) https://repo1.maven.org/maven2/org/typelevel/machinist_2.12/0.6.2/machinist_2.1… 100.0% [##########] 3.5 KiB (29.6 KiB / s) https://repo1.maven.org/maven2/org/typelevel/cats-kernel_2.12/1.0.0/cats-kernel… 100.0% [##########] 42.8 KiB (133.9 KiB / s) https://repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.12.0/scala-reflec… 100.0% [##########] 557.8 KiB (718.8 KiB / s) https://repo1.maven.org/maven2/org/typelevel/cats-core_2.12/1.0.0/cats-core_2.1… 100.0% [##########] 190.4 KiB (210.6 KiB / s) import $ivy.$
@ import cats.Eval import cats.Eval @ def factorial(n: BigInt): Eval[BigInt] = if(n == 1) { Eval.now(n) } else { factorial(n - 1).map(_ * n) } defined function factorial
単にscalaコマンドでREPLすると外部ライブラリ読み込めないしsbt console使うのもtoo muchなときに使っている。