setelement 可以更新元组内的元素
setelement(Index, Tuple1, Value) -> Tuple2.
Index:元组中的位置
Tuple1:元组
Value:新的值
如:
setelement(2, {a,b,c}, d) -> {a,d,c}.
由此可以开发一些黑科技
相同结构不同名的record转换
—record(record_a, {
a = 0
, b = 0
, c = 0
}).
—record(record_b, {
a = 0
, b = 0
, c = 0
}).
A = #record_a{},
a_to_b(A)->
setelement(1, A, record_b).
也许有同学会问,那为什么要定义两个一样的record?
这个看应用场景,一些项目会要求内部用一般的record,发给客户端的结构要统一前缀
比如:obj_info(内部) p_obj_info(外部)
“p_” 就是我们的统一前缀
还有一个黑科技,用setelement来根据枚举动态修改属性,因为策划配表一般都是配枚举值的,这个后续再写