是否可以在文件中保留变量,然后在Erlang中导入并使用它?

时间:2016-08-10 14:43:14

标签: erlang

我的模块包含返回不同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}]}
    ].

然后我从另一个模块导入该模块,并使用相应的函数获取支持者。

是否可以将这些支柱作为变量而不是作为函数保存,可以从导入此类的其他模块中访问这些变量?

1 个答案:

答案 0 :(得分:0)

我建议保留现在的东西。

如果你真的想使用变量,那么只需将返回值赋给变量并以这种方式使用它:

AuthSchema = my_module:get_schema(auth),

此函数是引用透明的,这意味着调用它并使用其返回值会得到相同的结果。对于常量,使用具有不带参数的函数的单独模块(或在示例中使用模式匹配)对于常量来说是相当普遍的做法。例如,查看translit函数here