2010-12-18 10 views
3

は私が更新にSQueryL documentationを読んでいたと私は見た: SQueryLチルダ演算子は何をしますか?

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

私はSQueryLソースコードから〜方法と明らかにそれはどちらか何を教えていませんリンクドキュメントを見つけるのに苦労していました。誰かが説明する気になる?

+0

ドキュメントは不完全なようです...おそらくメーリングリストを試してみましょうか? –

+0

私はディスカッショングループに尋ねました。ドキュメントが壊れていると私は興味があります。 –

答えて

4

Schema Definition Pageであまりにもずっと前にチルドオペレータについて読むことを思い出してください。 プリミティブタイプとカスタムタイプのあいまいさが解消されていますが、(私がScalaを学んだばかりなので)まだ私には少し曖昧に聞こえます;)。 ...

重要に小さな作品を引用すると:そこPrimitiveTypesモードで数値演算子の間であいまいさorg.squeryl.PrimitiveTypeModeを使用する場合

、コンパイラのような表現を扱うことができます 次の例の1つはブール値です。 。...

を:〜機能は 左側が式全体が句が必要なものである LogicalBooleanことになりますTypedExpressionNodeのノード[intは]で、コンパイラに伝えるために必要とされています

希望に役立ちます。

+0

ああ。ですから、〜opはNumericalExpressionから来ていると思われます。これは〜を入力した後にPrimitiveTypeModeからの魔法の暗黙の変換から得られます。あなたがそれを必要とする唯一の理由は、暗黙の魔法の性質のため、算術/論理演算が何を解決するかを決して確かめることができないからです。 'plus'や '〜'を使うと正しいタイプを得ることができます。 –

関連する問題