gpt4 book ai didi

scala - SQueryL波浪号运算符有什么作用?

转载 作者:行者123 更新时间:2023-12-01 06:55:52 25 4
gpt4 key购买 nike

我正在阅读 SQueryL documentation关于更新,我看到了:

update(songs)(s =>
where(s.title === "Watermelon Man")
set(s.title := "The Watermelon Man",
s.year := s.year.~ + 1)
)

我很难从 SQueryL 源代码中找到 ~ 方法,链接的文档显然也没有告诉我它的作用。有人愿意解释一下吗?

最佳答案

我记得不久前在 Schema Definition Page 上读过波浪号运算符.它是关于消除原始类型和自定义类型之间的歧义,尽管(因为我刚刚开始学习 Scala)它对我来说仍然有点模糊;)。引用一个小片段

...

important : in PrimitiveTypes mode there can be ambiguities between numeric operators

When using org.squeryl.PrimitiveTypeMode, the compiler will treat an expression like the one in the next example as a Boolean. The .~ function is needed to tell the compiler that the left side is a node of TypedExpressionNode[Int] which will cause the whole expression to be a LogicalBoolean which is what the where clause takes :

...

希望对您有所帮助。

关于scala - SQueryL波浪号运算符有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4477085/

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