在"编程Erlang"一书中,它说该语言使用"单一赋值"变量.在关于函数式编程语言的其他文章中,我总是读到"不可变值".
措辞"单一分配"是否意味着与"不可变价值"不同的东西?
我注意到许多函数式编程狂热分子都坚持某些核心概念:
避免国家
避免可变数据
最大限度地减少副作用
等等...
我不只是想知道其他什么东西会使函数式编程,但为什么这些核心思想是好的?为什么避免国家和其他国家好?
我是Erlang的新手.我只想将值重新赋值给字符串变量:
get_alert_body(Packet) ->
BodyElement = element(8,Packet),
Body = "my text",
Els = xmpp:get_els(Packet),
lists:foreach(fun(El) ->
ElementName = io_lib:format("~s",[xmpp:get_name(El)]),
IsFile = string:equal(ElementName,"fileType"),
if
IsFile ->
FileType = fxml:get_tag_cdata(El),
IsPhoto = string:equal(FileType,"photo"),
IsVideo = string:equal(FileType,"video"),
if
IsPhoto ->
%% if it gets to this I would like to return "my photo"
Body = "my photo";
IsVideo ->
%% else if it gets to this I would like to return "my video"
Body = "my video";
true ->
%% otherwise I would like …Run Code Online (Sandbox Code Playgroud)