gpt4 book ai didi

scala - 有没有一种方法可以链接以getOrElse一样的方式返回Option-Type的方法,但保留option-type

转载 作者:行者123 更新时间:2023-12-05 00:46:18 26 4
gpt4 key购买 nike

给定的代码片段由方法调用组成,这些方法调用返回一个选项类型。如果先前的调用返回None,我想调用下一个方法。我可以使用此代码段完成此操作

def amountToPay : Option[TextBoxExtraction] =
getMaxByFontsize(keywordAmountsWithCurrency) match {
case None => getMaxByFontsize(keywordAmounts) match {
case None => highestKeywordAmount match {
case None => getMaxByFontsize(amountsWithCurrency) match {
case None => highestAmount
case some => some
}
case some => some
}
case some => some
}
case some => some
}


但是看起来很乱因此,我希望有更好的方法。

最佳答案

是的,orElse更加干净:

def amountToPay : Option[TextBoxExtraction] =
getMaxByFontsize(keywordAmountsWithCurrency)
.orElse(getMaxByFontsize(keywordAmounts))
.orElse(highestKeywordAmount)
.orElse(getMaxByFontsize(amountsWithCurrency))
.orElse(highestAmount)


您也可以将项目放在 Seq中,然后使用 xs.reduceLeft(_ orElse _)xs.flatten.headOption.getOrElse(highestAmount)之类的东西。

关于scala - 有没有一种方法可以链接以getOrElse一样的方式返回Option-Type的方法,但保留option-type,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10413042/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com