问题标签 [scala-placeholder-syntax]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
352 浏览

scala - Scala underScore 奇怪的行为:错误:缺少扩展函数的参数类型

首先,这个:

和这个:

两者都评估相同的东西,即

那为什么,当我这样做时:

我得到了预期:

但是当我这样做时:

我有:

我检查并额外的括号不能解决问题。

0 投票
1 回答
84 浏览

scala - 在带有 Try 参数的函数调用中使用下划线

我试图了解 Scala 中下划线的特殊用法。下面的一段代码我无法理解

在这种情况下如何_治疗?怎么T=>S变成了Try[T]=>Try[S]

0 投票
1 回答
94 浏览

scala - println(_) 是什么意思?

我在scala中有这段代码

那么 println(_) 是什么意思,它应该打印什么?

0 投票
1 回答
34 浏览

scala - 指定方法的方法签名以应用 eta 扩展

有没有办法指定我想应用eta 扩展的方法的签名?

例如:

抛出编译错误:

顺便说一句:eta 扩展是使用_的正确术语吗?

0 投票
2 回答
1706 浏览

scala - “未绑定占位符参数”的解释

问题

为什么案例 2 会导致“未绑定的占位符参数”,而案例 1 可以?

情况1

案例2

0 投票
1 回答
112 浏览

scala - 为什么 ((_: Int, _: Int) => _ / _) 当 ((_: Int) / (_: Int)) 编译时不编译?

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

以及他们尝试的应用——

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

0 投票
1 回答
62 浏览

scala - 高阶函数定义中的括号错误(Scala)

我在高阶定义中遇到圆括号错误。以下代码工作正常:

但是,添加括号后会出现编译器错误

我知道我可以使用另一种样式来避免错误:

我感兴趣的是括号的问题是什么以及如何以相同的格式正确使用它们来格式化高阶函数

0 投票
1 回答
33 浏览

scala - 如何将函数结果传递给 math.max

我能够做到这一点:

但是,当我尝试这样做时:

我收到下面提到的编译错误:

我只想传递funtomath.max调用的结果。我怎样才能做到这一点。

提前致谢...

0 投票
1 回答
42 浏览

scala - _ 在这个已经采用默认值的方法中是什么意思?

我正在开发一个具有辅助方法的测试套件,例如:

在某些测试中,它被调用为:

而在其他测试中,它被调用为:

在这里做什么_?有什么意义?我确实尝试了调试器,但它只是跳过了,我无法弄清楚这一点。

0 投票
1 回答
54 浏览

scala - 为什么 sortWith(lt: (A, A) => Boolean) 需要一个具有两个参数的函数,但可以使用只有一个参数的 compareTo?

作为https://www.scala-lang.org/api/current/scala/collection/immutable/List.html#sortWith(lt:(A,A)=%3EBoolean)

sortWith 的参数是:

其中具有两个参数并返回布尔值的函数

但是 compareTo 只有一个参数:

如果 compareTo 是一个函数,它有两个参数。但是它是 scala,所以 compareTo 是一个方法,它只有一个参数

那为什么sortWith中可以使用compareTo呢?似乎不符合sortWith的类型签名