我的模块包含返回不同proplists的函数。 模块功能如下:
get_schema(auth) ->
[
{<<"login">>, [{string, required}]},
{<<"password">>, [{string, required}]},
{<<"id">>, [{string, required}]}
];
get_schema(update_password) ->
[
{<<"oldpassword">>, [{string, required}]},
{<<"newpassword">>, [{string, required}]},
{<<"id">>, [{string, required}]}
].
然后我从另一个模块导入该模块,并使用相应的函数获取支持者。
是否可以将这些支柱作为变量而不是作为函数保存,可以从导入此类的其他模块中访问这些变量?
答案 0 :(得分:0)
我建议保留现在的东西。
如果你真的想使用变量,那么只需将返回值赋给变量并以这种方式使用它:
AuthSchema = my_module:get_schema(auth),
此函数是引用透明的,这意味着调用它并使用其返回值会得到相同的结果。对于常量,使用具有不带参数的函数的单独模块(或在示例中使用模式匹配)对于常量来说是相当普遍的做法。例如,查看translit
函数here。