如何安装scala parser combinators

bqjvbblv  于 5个月前  发布在  Scala
关注(0)|答案(1)|浏览(70)

所以,我在ubuntu上使用Scala 2.13.12,通过coursier安装。最近我通过sudo apt-get install安装了解析器组合子的包,但无法导入它。
在github的官方页面上,它说要修改一个构建文件,但是我在哪里可以找到它呢?

rt4zxlrg

rt4zxlrg1#

Scala项目通常使用一个名为sbt的工具来构建,这是其他JVM构建工具(如Maven和Gradle)的替代品,它是用Scala编写的,并使用Scala作为定义构建的语言。
正如你提到的,库本身说要在这里将依赖项添加到build.sbt
如果你想遵循这种方法,你应该首先安装sbt(here是关于如何安装的几个选项)。
一旦你安装了它,这里有一个非常简短的例子来说明如何开始:
1.在新目录中,创建包含以下内容的文件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

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下载库及其依赖项,然后是运行命令的输出(下载依赖项仅在第一次运行时发生)

相关问题