scala - 从 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)))
谢谢
解决方案
有些人喜欢
pr.stockOn >= from && !outOfDate(pr.id) && { println(outOfDate(pr.id)) ; true }
在 2.13 中有
import scala.util.chaining._
outOfDate(pr.id).tap(println).pipe(!_)
这有一个奇怪的神秘的好处。
推荐阅读
- python - 用 Pandas 解析嵌套的 JSON
- python - 在特定轴上迭代包含在 3D 数组中的 2D 数组的 Pythonic 方法
- amp-html - 超出 DIV 限制的 AMP 图像
- google-apps-script - GAS 中 DeveloperMetadata 的实际用例
- android - Android JNI 线程未同时运行
- java - 在根项目中找不到任务“阶段”-Heroku buildback 未检测到 Spring Boot
- javascript - 当从 main.js 导入 canv 时,如何解决“未捕获的 ReferenceError:canv 未在 otherfile.js:3 中定义”
- javascript - 获取所有内容,除非以 \t (缩进)开头
- javascript - 更新嵌套对象的字段而不是在 React Redux 中重新渲染视图(UI)
- javascript - 通过可点击链接传递撇号或双引号时遇到问题