gpt4 book ai didi

Elixir:在 if 语句中设置变量

转载 作者:行者123 更新时间:2023-12-02 10:31:34 25 4
gpt4 key购买 nike

我对 Elixir 非常陌生,这个简单的问题让我抓狂。

a = 0
if true do
a = 1 + 1
end
a = a + 1

IO.puts (a)

有趣的是,这给出了正确的值,但也给出了警告:

warning: the variable "a" is unsafe as it has been set inside a case/cond/receive/if/&&/||. Please explicitly return the variable value instead. For example:

case int do
1 -> atom = :one
2 -> atom = :two
end

should be written as

atom =
case int do
1 -> :one
2 -> :two
end

Unsafe variable found at:
Untitled:5

3

我不明白警告消息。在 Elixir 中执行此操作的最佳方法是什么?

更新:这种情况也怎么样?

a = 0
b = 0
if true do
a = 1 + 1
b = 2 + 2
end
a = a + 1
b = b + 2

IO.puts (a)
IO.puts (b)

最佳答案

在 Elixir 中,每个语句都会返回值。您可以将整个 if 语句值分配给变量,而不是在 if 中分配变量。

a = 0
a = if true do
1 + 1
else
a + 1
end

关于Elixir:在 if 语句中设置变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39550644/

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