当前位置: 首页 > 知识库问答 >
问题:

Scala隐式参数和日语笑脸“向左折叠”

姚浩歌
2023-03-14
class Account(implicit transactionLog: TransactionLog) {
  def balance = transactionLog.foldLeft(_ + _)
}

class TransactionSlip(from: Account, to: Account, amount: BigDecimal)

提前谢了。

共有1个答案

令狐唯
2023-03-14

两个答案:

>

  • _+_是接受两个参数并将其添加的函数的占位符。这里的下划线是为了标记参数在这种语法中的位置。您可以阅读这篇文章,了解Scala中下划线的所有用法。

    implicit关键字表示隐式参数。这意味着在需要帐户的地方,可以使用构造函数提供一个帐户,而不显式地提供相应的TransactionLog,该帐户将从上下文中获取。

  •  类似资料:
    • 在这两种情况下,使编译器行为不同的区别是什么?如何解决此问题?

    • 一、隐式转换 1.1 使用隐式转换 隐式转换指的是以 implicit 关键字声明带有单个参数的转换函数,它将值从一种类型转换为另一种类型,以便使用之前类型所没有的功能。示例如下: // 普通人 class Person(val name: String) // 雷神 class Thor(val name: String) { // 正常情况下只有雷神才能举起雷神之锤 def hamm

    • 当光环板箭头向上放置时,灯环会显示笑脸,案例使用了光环板的运动传感器。 启用上传模式 点击启用上传模式。 编写程序 1. 拖取一个事件类积木 当光环板启动时 到脚本区,添加控制类积木 重复执行。 2. 添加一个控制类积木 如果()那么()否则,一个感知类积木 光环板(箭头向上)?,选择“箭头向上” 3. 添加灯光类积木 显示(),绘制一个笑脸 3. 继续添加灯光类积木 显示(),设置灯环不亮 4.

    • 好的,所以我对返回Akka Futures的函数进行了一系列调用,并且我通过使用flatMap和map将它们链接起来,如下所示: 其可以分布在不同的函数调用中。现在,这些doAsyncCallX调用中的每一个都返回一个未来的[Result],我希望能够合成这些结果,在链上传递它们,直到最后我可以返回链中所有结果的合成结果。 为此,我考虑让每个doAsyncCallX接收前一个结果的隐式参数,并将获

    • 可以通过 RpcContext 上的 setAttachment 和 getAttachment 在服务消费方和提供方之间进行参数的隐式传递。 1 在服务消费方端设置隐式参数 setAttachment 设置的 KV 对,在完成下面一次远程调用会被清空,即多次远程调用要多次设置。 RpcContext.getContext().setAttachment("index", "1"); // 隐式传

    • 是否可以以与选项类似的方式处理任一选项?在