gpt4 book ai didi

erlang - Erlang 示例中的安全使用

转载 作者:行者123 更新时间:2023-12-02 08:10:33 36 4
gpt4 key购买 nike

我正在学习 Erlang,我看到了“安全使用”的示例
这是首选“安全使用”的示例

better(N) ->
X = case N of
1 -> 1;
_ -> 0
end,
X.

还有一个安全但不好的例子

bad(N) ->
case N of
1 -> X =1;
_ -> X = 0
end,
X.

我理解这两个功能的功能(对我来说看起来相同),但我无法理解是什么让第一个功能更好,而第二个功能不好?

最佳答案

在第一个示例中,X 仅绑定(bind)一次。如果您希望更改 case 表达式以添加新子句,X 的绑定(bind)将保持不变。但是对于第二个示例,很容易忘记在每个新的 case 子句中绑定(bind) X ,因此您最终会遇到有关不安全变量的编译错误,更不用说您的代码比必要的更冗长,因此更难阅读。

像这样使用 case 的另一种替代方法是使用多个函数子句:

best(1) -> 1;
best(_N) -> 0.

这比更好功能更清晰,并且更容易维护。

关于erlang - Erlang 示例中的安全使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37815520/

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