scala - 列出多个匿名/下划线参数以供理解
问题描述
我对 Scala/功能有点陌生,所以我还不能使用技术语言。
我在理解方面遇到问题
val queries =
for {
_ <- createBanco
_ <- createBancoMedio
bankInsertions <- Update[Banco](insertStr).updateMany(NonEmptyList.fromList(createBankList(1, maxBanks)).get)
mediumInsertions <- Update[BancoMedio](mediumInsert).updateMany(NonEmptyList.fromList(mediumList).get)
bankCount <- BancoStatements.getCount().unique
bankGetIds <- BancoStatements.getIds(0, maxBanks).to[List]
bankSome <- BancoStatements.getSome(halfBanks).to[List]
} yield (bankCount, bankGetIds, bankSome)
//Execute database queries, saves them on tuple
val transactionResults : (Int, List[String], List[Banco]) =
queries.transact(h2Transactor).unsafeRunSync()
我正在尝试重构 _ <- createBanco & _ <- createBancoMedio,它们都是 ConnectionIO[Int] 对象。
我想将它们转换为单个列表(createBanco,createBancoMedio),然后执行交易。
但是,我会通过这样做来改变理解的返回类型。我想知道是否有任何方法可以做到这一点而不影响 for 输出值
基本上,将列表视为手动编写多个匿名参数。
解决方案
刚刚解决了,又做了一个来理解列表
val createList = for {
m <- createBancoMedio
b <- createBanco
} yield List(b, m)
val queries =
for {
_ <- createList ....
这样我就有了 ConnectionIO[List[Int]]
推荐阅读
- javascript - 如何根据页面上存在的元素跳过显示某些内容或不使用 javascript 或做出反应?
- sql - 按年和月排序
- flutter - 颤动中的滚动完成回调
- javascript - 参数中的值在方法之后没有保持其值
- python - 如何在 python 中转换特殊字符的编码?
- python - 在分配全局之前引用的局部变量不起作用
- python - 找到适合多个参数的函数
- php - 在 zend-expressive-hal 配置中将选项传递给 ClassMethodsHydrator
- .net - msix 和多个目标框架不起作用
- reactjs - 使用带有反应的 print-js