我有兴趣知道是否存在具有“简写等式结构”的编程语言(我只是将该术语编写,但不确定如何描述它)。
所以而不是正常:
if(X == 1 || X == 2)
一种简短的平等检查,如下所示:?
if(X == 1 || 2)
据我所知,有许多适用于&再次为这种结构。而且我可以创建功能来做类似的事情,但我会感兴趣是否有语言可以让你开箱即用。
修改
感谢Michael帮助我澄清事情,我喜欢Python的方式。
我会尝试更好地解释,因为看上面我的问题并不能很好地解释。
而不是检查集合中的某些内容,或者在后台创建集合。
我想知道是否有编程语言只定义左手变量一次,它会自动为你创建左右。
所以写下这个:
if(X == 1 || 2 || 3)
实际上会创建
if(X == 1 || X == 2 || X == 3)
我意识到这个伪synatx并不是非常有用,而且创建集合是一种很好的方法。但想知道它是否存在于任何地方。
答案 0 :(得分:2)
我不知道该语法的任何内容,但它与测试集合成员资格密切相关,许多语言都包含这些成员资格,无论是作为语言构造还是作为库。
例如,考虑一下Python:
x = 1
if x in {1, 2}:
#do something
适用于Python 2.7+,其中有set literals的语法。早期版本的Python会将集合构造为:
x = 1
if x in set([1, 2]):
#do something
除了语法差异之外,上述基于集合的方法也有所不同,因为所有可能的值都得到了热切的评估。例如,你不能这样做:
x = 1
if x in {1, 2/0}:
#do something
你得到一个除以零的错误。
答案 1 :(得分:2)
Bourne shell:
case $x in one | 2 | thr33 | f0re) echo less than six;; esac # spot logic error