Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala伴生类警告_Scala - Fatal编程技术网

Scala伴生类警告

Scala伴生类警告,scala,Scala,我是Scala编程新手,有人能解释一下下面的警告原因吗 我试图找到原因,但之前似乎有一个大问题: 那么为什么我会收到这个警告呢?同伴类及其对象必须在同一个文件中定义 因此,您可以在文件中编写类和对象,然后在REPL中使用:paste,即可运行代码。不会出现任何警告 scala> :paste // Entering paste mode (ctrl-D to finish) class Student(sid: Int, sname: String) { val id = si

我是Scala编程新手,有人能解释一下下面的警告原因吗

我试图找到原因,但之前似乎有一个大问题:


那么为什么我会收到这个警告呢?

同伴类及其对象必须在同一个文件中定义

因此,您可以在文件中编写类和对象,然后在REPL中使用
:paste
,即可运行代码。不会出现任何警告

scala> :paste
// Entering paste mode (ctrl-D to finish)

class Student(sid: Int, sname: String) {
    val id = sid
    val name = sname

    override def toString() = this.id + "," + this.name
  }

  object Student {
    def displayDetails(st: Student) = {
      println("Student Details : " + st.id + "," + st.name)
    }
  }


// Exiting paste mode, now interpreting.

defined class Student
defined object Student

这是REPL(读取-计算-打印循环)特有的,因为它无法知道用户输入何时结束

使用
:粘贴
绕过它:

scala> class A {}
defined class A

scala> object A {}
defined object A
warning: previously defined class A is not a companion to object A.
Companions must be defined together; you may wish to use :paste mode for this.

scala> :paste
// Entering paste mode (ctrl-D to finish)

class A {}
object A {}

// Exiting paste mode, now interpreting.

defined class A
defined object A