所以,我在ubuntu上使用Scala 2.13.12,通过coursier安装。最近我通过sudo apt-get install安装了解析器组合子的包,但无法导入它。在github的官方页面上,它说要修改一个构建文件,但是我在哪里可以找到它呢?
rt4zxlrg1#
Scala项目通常使用一个名为sbt的工具来构建,这是其他JVM构建工具(如Maven和Gradle)的替代品,它是用Scala编写的,并使用Scala作为定义构建的语言。正如你提到的,库本身说要在这里将依赖项添加到build.sbt。如果你想遵循这种方法,你应该首先安装sbt(here是关于如何安装的几个选项)。一旦你安装了它,这里有一个非常简短的例子来说明如何开始:1.在新目录中,创建包含以下内容的文件build.sbt
build.sbt
scalaVersion := "2.13.12" libraryDependencies ++= Seq( "org.scala-lang.modules" %% "scala-parser-combinators" % "2.3.0", )
字符串1.在同一目录中,按照标准结构创建目录,然后是SBT
mkdir -p src/main/scala
型1.使用库文档提供的示例创建文件src/main/scala/SimpleParser.scala:
src/main/scala/SimpleParser.scala
import scala.util.parsing.combinator._ case class WordFreq(word: String, count: Int) { override def toString = s"Word <$word> occurs with frequency $count" } class SimpleParser extends RegexParsers { def word: Parser[String] = """[a-z]+""".r ^^ { _.toString } def number: Parser[Int] = """(0|[1-9]\d*)""".r ^^ { _.toInt } def freq: Parser[WordFreq] = word ~ number ^^ { case wd ~ fr => WordFreq(wd,fr) } } object TestSimpleParser extends SimpleParser { def main(args: Array[String]) = { parse(freq, "johnny 121") match { case Success(matched,_) => println(matched) case Failure(msg,_) => println(s"FAILURE: $msg") case Error(msg,_) => println(s"ERROR: $msg") } } }
型1.运行sbt run,此时您应该看到Coursier下载库及其依赖项,然后是运行命令的输出(下载依赖项仅在第一次运行时发生)
sbt run
1条答案
按热度按时间rt4zxlrg1#
Scala项目通常使用一个名为sbt的工具来构建,这是其他JVM构建工具(如Maven和Gradle)的替代品,它是用Scala编写的,并使用Scala作为定义构建的语言。
正如你提到的,库本身说要在这里将依赖项添加到
build.sbt
。如果你想遵循这种方法,你应该首先安装sbt(here是关于如何安装的几个选项)。
一旦你安装了它,这里有一个非常简短的例子来说明如何开始:
1.在新目录中,创建包含以下内容的文件
build.sbt
字符串
1.在同一目录中,按照标准结构创建目录,然后是SBT
型
1.使用库文档提供的示例创建文件
src/main/scala/SimpleParser.scala
:型
1.运行
sbt run
,此时您应该看到Coursier下载库及其依赖项,然后是运行命令的输出(下载依赖项仅在第一次运行时发生)