如果没有定义,任何语法糖用于赋值变量吗?

时间:2014-04-04 08:24:39

标签: syntax syntactic-sugar

在几乎所有语言中,如果没有定义变量,我倾向于写一些将变量设置为默认值的东西。每次我都惊讶为什么语法不简单,例如为什么我必须将变量名称写两次才能将其设置为默认值。例如,在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";

我只是好奇,那里有没有语言实际上有这个语法糖?

1 个答案:

答案 0 :(得分:0)

bash 支持参数扩展和测试。

e.g。如果$1已定义且不是空,请使用$1;否则,设置为“text”,输入:

output=${1-text}