gpt4 book ai didi

javascript - 初始化变量时,Bash 相当于 Ruby 和 JavaScript OR

转载 作者:行者123 更新时间:2023-11-27 22:55:49 24 4
gpt4 key购买 nike

有时我在 JavaScript 中看到:

a||=1

这意味着 - 据我所知 - 如果“a”未定义,或者为 null,那么它会被初始化为值 1,否则什么也不会发生。我在 Ruby 脚本中执行相同的操作,例如当未传递命令行参数时:

gamma=ARGV[0]||"1.0"

然后变量 gamma 从 ARGV[0] 获取其值,假设它不为零,则传递了一个值,否则将为“1.0”。

这是一个很好的简写:

if ARGV[0]==nil then
gamma="1.0"
else
gamma=ARGV[0]
end

甚至:

gamma=ARGV[0]==nil ? "1.0" : ARGV[0]

我想在 ruby​​ 脚本中使用类似的 cinstruction,但它不能按预期工作,因为 nil 或 null 值不存在,所以表达式:

$0||"1.0"

始终给出 $0 的值,即使它是空字符串“”。是否也可以在 bash 脚本中使用类似的速记语法?

最佳答案

bash 中,您可以使用分配默认值参数expansion operator .

: ${a:=1.0}

${parameter:=word}
If parameter is unset or null, the expansion of word is assigned to parameter.

: 命令是一个无操作,使用它只是为了我们可以在其参数列表中执行参数扩展。

关于javascript - 初始化变量时,Bash 相当于 Ruby 和 JavaScript OR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37629789/

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