【问题标题】:Illegal character error when define Seq定义 Seq 时出现非法字符错误
【发布时间】:2015-11-16 23:08:30
【问题描述】:

我创建了新的 Play-Scala 项目并添加了我的第一个模型类(案例类)。 我的模型类有一个模拟存储库,当我尝试在存储库类中添加 Seq 变量时,项目的编译失败。 如果我为我的模型类创建伴随对象并在该对象中添加 Seq 变量,则编译成功。没有任何 Seq 定义编译也可以。

错误文本对我来说很奇怪:Error:(7, 25) invalid character '\u2028' 我使用 IntelliJ Idea,文件编码为 UTF-8。

我的课程代码:

case class Teacher(id: Long, name: String) extends BaseItem

object Teacher {
  val list = Seq(1, 2, 3) //this compiles
}

class TeacherRepository extends BaseRepository[Teacher] with BaseTeacherRepository {
  val int = List(1, 2, 3
    
    ) //this one fails
  override def list: Seq[Teacher] = ???

  override def getById(id: Long): Option[Teacher] = ???

  override def getByLanguage(language: String): Seq[Teacher] = ???
}

已编辑: 在第二种情况下,IDE 似乎在右括号之前不显示行分隔符。 有效代码应该是

val int = List(1, 2, 3)

【问题讨论】:

  • 3) 之间有 2 个\u2028(行分隔符)字符。只需删除它们(或删除3 之后的所有空格)即可。
  • @Marth 谢谢!有用。我太相信IDE了:)

标签: scala playframework


【解决方案1】:

为什么不正确地格式化您的代码?

class TeacherRepository extends BaseRepository[Teacher] with BaseTeacherRepository {
  val int = List(1, 2, 3)
...
}

【讨论】:

  • IDE 中没有任何空格。还是谢谢你。
猜你喜欢
  • 1970-01-01
  • 2014-08-25
  • 2018-06-22
  • 1970-01-01
  • 1970-01-01
  • 2021-07-21
  • 1970-01-01
  • 2018-03-01
  • 1970-01-01
相关资源
最近更新 更多