[Expr || Qualifier1,...,QualifierN]
เวลาใช้งาน
1> [{A} || A <- "A"].
[{65}]
รูปแบบการใช้อื่นๆ เช่น
1> [A*2 || A <- [2,3,4]].
[4,6,8]
2> [{ I, 2, I} || I <- "1"].
[{49,2,49}]
3> [{A,B,C} || A <- "1", B <- "2", C <- "3"].
[{49,50,51}]
4> [{A,B,C} || A <- [1], B <- [2], C <- [3]].
[{1,2,3}]
มีประโยชน์มาก เช่นเวลาทำ expression binding สำหรับ SQL statement เช่น
-define(INSERT, <<"insert into tbl_info (title, data) values (:title, :data)">>).
-define(INFO_BIND_LIST, [{<<":title">>, 'SQLT_STR'}, {<<":data">>, 'SQLT_STR'}]).
.
.
.
Statement = OciSession:prep_sql(?INSERT),
StatementRes = Statement:bind_vars(?INFO_BIND_LIST),
Statement:exec_stmt([ {Title, Data} || Title <- retrieveTitle(Args), Data <- retrieveData(Args)]),
.
.
.
Erlangian is erlanging.
.
.
.
Erlangian is erlanging.
ท่าที่เอามาใช้กับ exec_stmt นี้ไม่เคยเห็น แต่ก็ทำให้ code ดูเข้าท่าดีครับ
ตอบลบผมลืมไปหมดแล้ว เห็นโีคดแล้วนึกไม่ออกเลย
ตอบลบ