我在阅读有关更新的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)对我来说还是有点含糊;)。引用一小段
...
重要提示:在PrimitiveTypes模式下,数值运算符之间可能会有歧义
当使用org.squeryl.PrimitiveTypeMode时,编译器将像
在下一个示例中为Boolean。需要。〜函数来告诉编译器
左侧是TypedExpressionNode [Int]的节点,它将导致整个表达式为
LogicalBoolean,这是where子句采用的内容:
...
希望能有所帮助。
关于scala - SQueryL波浪符运算符做什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4477085/