R-6ren">
gpt4 book ai didi

list - Erlang 将值添加到变量列表

转载 作者:行者123 更新时间:2023-12-02 06:21:16 27 4
gpt4 key购买 nike

我有一个空列表,在特殊情况下,我想将一个元组 append 到列表中。我该怎么做?

我尝试了几种方法:

case ReqFilePath of
"style.css" ->
ResponseHeaders = [{"Content-Type", "text/css"}];
_Else ->
ResponseHeaders = []
end,


case filelib:is_file(File) of
true ->
{ok, Content} = file:read_file(File),
{output, Content, ResponseHeaders}; % Complains ResponseHeaders is not safe
false ->
not_found
end.

这也不起作用,因为变量已经设置。当我先初始化ResponseHeaders = [],然后尝试给它加一个值

ResponseHeaders = lists:append(ResponseHeaders, [{"Content-Type", "text/css"}]);

我收到匹配错误。你通常如何在 Erlang 中执行此操作?

最佳答案

在 erlang 中通常的做法是使用另一个变量:

ResponseHeaders = [{"Content-Type", "text/css"}],
[...]
ResponseHeaders2 = ResponseHeaders ++ [{new_thing}]

或者您可以创建一个函数来为您构建 ResponseHeaders:

ResponseHeaders = build_headers(ReqFilePath).

build_headers("skin.css") -> [{"Content-Type", "text/css"}];
build_headers(_) -> [].

不要忘记将您的思维方式转变为 erlang 方式! ;)

关于list - Erlang 将值添加到变量列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9034832/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com