用于在Scala中理解,以便在If测试后仅平面映射未来[T]
我需要帮助使用一个if语句,该语句只应在理解期货交易的测试为false时运行。我是scala的新手,使用它作为我的向导 代码是用于在Scala中理解,以便在If测试后仅平面映射未来[T],scala,future,for-comprehension,Scala,Future,For Comprehension,我需要帮助使用一个if语句,该语句只应在理解期货交易的测试为false时运行。我是scala的新手,使用它作为我的向导 代码是 for { emptyResults: Boolean = areResultsEmpty(content) resp <- getResp(content) if !emptyResults } yield resp 我在这里查看了其他解决方案,包括和,但它们对解决此问题没有帮助。您不能在中的任何生成器之前进行分配以供理
for {
emptyResults: Boolean = areResultsEmpty(content)
resp <- getResp(content) if !emptyResults
} yield resp
我在这里查看了其他解决方案,包括和,但它们对解决此问题没有帮助。您不能在中的任何生成器之前进行分配以供理解
for {
emptyResults: Boolean = areResultsEmpty(content) // Not allowed
resp <- getResp(content) if !emptyResults
} yield resp
用于{
emptyResults:Boolean=AreResultSumpty(内容)//不允许
resp您不能在中的任何生成器之前赋值以供理解
for {
emptyResults: Boolean = areResultsEmpty(content) // Not allowed
resp <- getResp(content) if !emptyResults
} yield resp
用于{
emptyResults:Boolean=AreResultSumpty(内容)//不允许
resp您可以在理解表达式中调用aresultsempty
a guard
for {
resp <- getResp(content) if !areResultsEmpty(content)
} yield resp
用于{
resp您可以在理解表达式中调用aresultsempty
a guard
for {
resp <- getResp(content) if !areResultsEmpty(content)
} yield resp
用于{
respAfor
的理解是“语法糖”。这意味着在它被翻译成字节码之前,它首先被翻译成一种不同的、标准的语言结构
在本例中,您有一个生成器,理解的是“语法糖”。这意味着在它被翻译成字节码之前,它首先被翻译成不同的标准语言结构
在这种情况下,您有一个生成器,
val result = if (areResultsEmpty(content)) {
. . . //some default
} else {
getResp(content).map(/*do work*/)
}