小编Jai*_*bhu的帖子

IndexedSeq[Int] vs Array[Int]

Coming from a Java background I am learning Scala and the following has me very confused. Why is the type returned different in these two (very similar but different) constructs, which vary only in how the source collection was build -

  val seq1: IndexedSeq[Int] = for (i <- 1 to 10) yield i
Run Code Online (Sandbox Code Playgroud)

vs.

  val seq2: Array[Int] = for (i <- Array(1, 2, 3)) yield i
Run Code Online (Sandbox Code Playgroud)

请务必向我指出正确的文献,以便我能够理解此处起作用的核心基础知识。

scala

6
推荐指数
2
解决办法
314
查看次数

为什么 ((_: Int, _: Int) =&gt; _ / _) 当 ((_: Int) / (_: Int)) 不编译?

我正在学习 Scala 并且有一个非常基本的问题。考虑使用占位符语法的以下两个表达式 -

// Syntax A  
val fnA = (_: Int, _: Int) => _ / _

// Syntax B
val fnB = (_: Int) / (_: Int) 
Run Code Online (Sandbox Code Playgroud)

以及他们尝试的应用——

// Syntax A
fnA(33, 3)

// Syntax B
fnB(33, 3)
Run Code Online (Sandbox Code Playgroud)

在这两个中,只有 B 和 App(B) 是有效的语法,我不知道为什么。如果编译器能够推断参数(以及应用它们的顺序),fnB为什么它不能为fnA?我的问题是基于fnB一个简写的前提,fnA我很确定这种推理存在缺陷。我只是不确定缺陷是什么。

scala scala-placeholder-syntax

3
推荐指数
1
解决办法
104
查看次数

标签 统计

scala ×2

scala-placeholder-syntax ×1