gpt4 book ai didi

erlang - 一般与术语一起使用时,在Erlang中==和=:=有什么区别?

转载 作者:行者123 更新时间:2023-12-03 12:12:43 25 4
gpt4 key购买 nike

除了=:=可以防止不必要的整数转换外,还可以:

1> 1=:=1.0.
false

通常,将 =:=与术语一起使用有什么好处?

更好的性能?

最佳答案

=:=的最大优点是,它仅以与模式匹配相同的方式对相同的术语返回true。因此,您可以确定它们是相同的。 11是相同的术语,而11.0则不是。而已。如果您编写像foo(A, B) when A =:= B -> A.bar(A, B) when A =:= B -> B.这样的函数,它们的行为将相同。如果使用==,它将不会具有相同的功能。它只是防止意外。例如,如果您进行一些键/值存储,那么用键1存储值然后如果要求键1.0则得到该值就不合适。是的,==会给性能带来一点点损失,但至少令人惊讶的是更为重要。当您打算比较相同的术语时,只需使用=:==/=。仅当您打算比较数字时才使用==/=

关于erlang - 一般与术语一起使用时,在Erlang中==和=:=有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9790815/

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