Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.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> val fibs = { def go(f0: Int, f1: Int): Stream[Int] = Stream.cons(f0, go(f1, f0+f1)) go(0, 1) } fibs: Stream[Int] = Stream(0, ?) 乍一看,它似乎接受两个参数go(f0:Int,f1:Int),但尝试这样做会导致太多的gumentsexcep

看看这个漂亮的斐波那契实现:

scala> val fibs = {
          def go(f0: Int, f1: Int): Stream[Int] =
          Stream.cons(f0, go(f1, f0+f1))
           go(0, 1)
          }
fibs: Stream[Int] = Stream(0, ?)
乍一看,它似乎接受两个参数go(f0:Int,f1:Int),但尝试这样做会导致太多的gumentsexception 然而,有一个论点,它可以很好地工作(正如它应该的那样)


如何知道fibs应该接受的参数数量?

fibs
不是一个方法,而是一个类型为
Stream[Int]
的值

当您编写
fibs(9)
时,您正在调用
fibs.apply(9)
,对于
,它通过序列中的索引选择元素(请参阅)

这与:

scala> val l = List(1,2,3,4)
l: List[Int] = List(1, 2, 3, 4)

scala> l(2)
res0: Int = 3

fibs
不是一个方法,它是一个类型为
Stream[Int]
的值

当您编写
fibs(9)
时,您正在调用
fibs.apply(9)
,对于
,它通过序列中的索引选择元素(请参阅)

这与:

scala> val l = List(1,2,3,4)
l: List[Int] = List(1, 2, 3, 4)

scala> l(2)
res0: Int = 3

fibs
不是一个方法,它是一个类型为
Stream[Int]
的值

当您编写
fibs(9)
时,您正在调用
fibs.apply(9)
,对于
,它通过序列中的索引选择元素(请参阅)

这与:

scala> val l = List(1,2,3,4)
l: List[Int] = List(1, 2, 3, 4)

scala> l(2)
res0: Int = 3

fibs
不是一个方法,它是一个类型为
Stream[Int]
的值

当您编写
fibs(9)
时,您正在调用
fibs.apply(9)
,对于
,它通过序列中的索引选择元素(请参阅)

这与:

scala> val l = List(1,2,3,4)
l: List[Int] = List(1, 2, 3, 4)

scala> l(2)
res0: Int = 3