首页 > 解决方案 > 从 Scala 中的逻辑表达式打印

问题描述

在 Scala 中,我有这样的表达式:

 prods <- Products.getAll(pr => (pr.stockOn >= from &&
                                 !(outOfDate(pr.id))
                                )
                         )

表达式中是否可以有 println 命令:

(pr.stockOn >= from && !(outOfDate(pr.id)) )

就像是:

 (pr.stockOn >= from && !(outOfDate(pr.id)) && (println(outOfDate(pr.id)))

谢谢

标签: scala

解决方案


有些人喜欢

pr.stockOn >= from && !outOfDate(pr.id) && { println(outOfDate(pr.id)) ; true }

在 2.13 中有

import scala.util.chaining._

outOfDate(pr.id).tap(println).pipe(!_)

这有一个奇怪的神秘的好处。


推荐阅读