SPL 能否支持三目运算符
支持三目运算的编程语言很多,JAVA 就是其中之一。我看到了在润乾报表里有对三目运算的描述,所以想着 SPL 是否也能支持三目运算?
三目运算 (?:) 直观来看就是 if…then…else 的语法糖,优点就是简化代码。但也有人说这个可读性差,if 语句的可读性更好,同样性质的语句不需要 n 种炫技式的写法,支持的反对的都有。个人觉得,代码可读性是一件挺主观的事,各有道理,所以,既然是主观,则意味着没有绝对的对错。if 语句如果写成 18 层嵌套,也是一件剪不断理还乱的事。纯主观的事,多说无益,代码再怎么难读,注释好就行。
那三目运算符有哪些优点?第一,简化代码;第二,据说能减少不必要的中间变量的定义,减少命名;第三,据说能实现惰性计算。第一点是最直观的,也是我这样的野生非科班半吊子所推崇的,后两点是听别的大佬说的,我也不懂。且不管这些,三目运算是主流编程语言普遍支持的特性。
有点扯远了,关键是想问一下,SPL 能否实现三目运算?可以看到,短路运算是支持的,比如:
1、把 4 到 8 之间的数 push 进序列
2、跟上述 1 相反,把不是 4 到 8 之间的数 push 进序列
关于上述三目运算符的需求,恳请 SPL 大佬们得闲斟酌。谢谢!
SPL 有 if 函数,并不比?: 的写法麻烦多少。SPL 也不提倡写太多 if 语句。
? 和: 在 SPL 中有其它(更常用的)用途,也不能再解释成这样。
😄 谢谢大神回复!
?和:在 SPL 里确实有其它用途。
哈哈,想起一出是一出,肤浅了🙏