在几乎所有语言中,如果没有定义变量,我倾向于写一些将变量设置为默认值的东西。每次我都惊讶为什么语法不简单,例如为什么我必须将变量名称写两次才能将其设置为默认值。例如,在Perl中:
my $var;
# some code here...
$var = "default" unless $var; # $var typed twice
或者在C:
char *var = NULL;
// some code here...
if (!var) // var typed
var = "default"; // twice
为什么没有一些语法糖来设置变量,如果它没有定义?在perl中它看起来像
$var ?= "default";
我只是好奇,那里有没有语言实际上有这个语法糖?
答案 0 :(得分:0)
bash 支持参数扩展和测试。
e.g。如果$1
已定义且不是空,请使用$1
;否则,设置为“text”,输入:
output=${1-text}