问题标签 [partialfunction]

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 回答
49 浏览

scala - 部分函数匹配的对象的引用是什么?

以这个函数为例:

正在匹配什么对象?在箭头的右侧,我如何引用正在匹配的对象?

0 投票
1 回答
673 浏览

scala - 恢复未来时播放控制器操作中的类型不匹配

我在 scala 播放控制器方法中返回正确类型时遇到问题,有人可以在这里给我提示吗?我正在使用 for comprehantion 处理两个返回 Future 的服务方法,我想优雅地处理结果和错误。

这样做的最佳做法是什么?

错误:

0 投票
1 回答
1821 浏览

scala - 模式匹配:使用 PartialFunction 拆分代码?

我正在努力实现“简单”的行为:将模式匹配代码分成两个单独的函数。

为了清晰起见,我正在简化模型:

我想在不同的函数上对这些进行模式匹配(因为实际代码很长),但是还有其他参数,所以 PartialFunctions 让我感到恶心......
在一个完美的世界里,我可以写:

然而,这是行不通的。主要是因为我的函数中需要几个参数。“为什么你不使用元组?” 你可以说?好吧,我试过了,编译器不会停止抱怨预期类型与实际类型不同,并且与我的别名不同:(

任何帮助、提示或替代方法都会很有用!
干杯


编辑:我遵循了 Cyrille 的回答,但我还需要在比赛前进行一些工作,如下所示:

0 投票
3 回答
312 浏览

scala - Scala偏函数中案例的评估顺序

我可以在 Scala 中对部分函数的情况进行评估吗?

例如,给定

如果我可以假设按顺序评估案例,我可以将代码分解为:

假设在评估案例时有顺序是一种好的编程习惯吗?

0 投票
2 回答
198 浏览

scala - 在 Scala 中编写部分函数

我有两个部分函数f1f2​​我想将它们组合成一个新的部分函数f,​​以便f.isDefinedAt(x)iff f1.isDefinedAt(x) || f2.isDefinedAt(x)。我是说

f1有没有办法作曲f2

0 投票
1 回答
252 浏览

scala - Scala:使用泛型收集

鉴于以下情况

有没有办法创建一个通用函数来处理这种行为?

我尝试了以下

返回

另一种方法是提供partial functionas 参数,但仍然必须复制case i: Int => iand case s: String => s。有没有办法让它更紧凑?谢谢

0 投票
1 回答
681 浏览

scala - applyOrElse Scala 中缺少参数类型

我有这段代码,我试图在其中调用部分函数。当我构建我的项目时,我收到一条错误消息missing parameter type ++ headerExtractor.applyOrElse(event, _ => Map.empty)

我看过其他帖子,但我觉得这应该有效。我究竟做错了什么?

我在这里调用 headerExtractor

0 投票
2 回答
654 浏览

scala - 如何在 akka actor 的模式匹配中尽早返回接收

尝试在这个微不足道的问题上搜索变体,但没有得到答案......

基本上我的接收方法中有一个模式匹配。在某些情况下,我想尽早从接收处理中中断

0 投票
1 回答
326 浏览

scala - 如何使用 Option 或 PartialFunction 简化方法

我需要一些帮助来修改(简化)我的代码。
这里有一个例子:

我需要更改 flatMap 方法并避免出现“ELSE”部分代码的情况
据我所知,我们可以使用部分函数或 [Option]。如果我们的“if”语句为 FALSE,它可以帮助我们避免这种情况。如果我从代码中删除 ELSE 部分,scala 不会给我编译代码的机会。谢谢!

0 投票
3 回答
108 浏览

scala - 如何将一个部分函数转换为另一个?

假设我有部分功能parf

现在我也有了case class A(x: Int),我需要一个函数来转换PartialFunction[Int, String]PartialFunction[A, String]

例如,foo(parf)应该返回{case A(0) => "!!!" }. 你会怎么写函数foo