差異

2017-08-10 39 views
1

當使用scalikejdbc,有沒有什麼區別:差異

val test = "test" 
sql"""SELECT $test from mytable""" 

val test = "test" 
sql"""SELECT ${test} from myable""" 

例如都會使用prepared-statement-like變量替換嗎?

到目前爲止我所見過的所有例子都使用後一種語法,但是我已經看到了一些使用前者的代碼(這對我來說看起來稍微漂亮),這就是爲什麼我想知道是否有任何理由圍繞你的變量名帶有{}

回答

1

很像字符串,你可以用"$hello"來插入一個變量,用"${hello}"插入一個表達式。

如果你有case class Foo(a: Int)和實例val foo = Foo(42),可以直接插"${foo.a}",或者你可以創建一箇中間值,val fooA = foo.a和插即中間:"$fooA"

+0

謝謝erip! :) 所以我認爲它們在上面發佈的用例中是相同的,但示例通常使用{},因爲它允許使用更多的用例。 – Dreamer

+0

我想說,除非創建一箇中間人變得不方便,否則這只是我的偏好。 – erip