问题标签 [syntactic-sugar]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 使用“var{args}”初始化是 C++0x 的新特性,还是仅仅是语法糖?
我正在阅读C++0x 常见问题解答,并遇到了详细说明初始化程序列表的部分。这些示例主要是以下内容的变体:
但是,还列出了以下形式:
这种形式出现在常见问题解答的其他地方,我很好奇它是否在语义上与最初的两种形式不同,或者只是vk({x, y, z})
.
c++ - c++ 迭代器有更漂亮的语法吗?
在 C++ 中使用迭代器是否有更漂亮/更简洁的方式?从我看到的教程中,我要么在任何地方设置 typedef(对于很多一次性的 for 循环来说,这样做很乏味):
或有冗长的寻找循环,如:
有没有更好的办法?
ruby - “!”的目的是什么?和 ”?” 在方法名称的末尾?
有时我会在 Ruby 中看到带有“?”的方法。和 ”!” 在他们的最后,例如:
我想知道他们的目的是什么?它们只是语法糖衣吗?
c++ - 向向量添加可变大小元素列表的语法糖?
我有一个包含向量的类:
有没有办法允许以下简洁的函数调用?(也许通过改变addKids
上面的功能?)
我怀疑你可以用 C++0x 向量初始化列表来做到这一点?但不幸的是,我不能使用 C++0x。不过,如果有帮助的话,我可以使用 Boost。
perl - 有没有一种更简洁的方法可以有条件地“结束”这个 Perl 循环?
我并不真正了解 Perl,我一直在一个友好的搜索引擎的帮助下增强 Perl 脚本。
我发现如果条件满足,我需要在设置标志时跳出循环:
我知道使用“last”的更好方法是这样的:
当然,这意味着虽然我可以享受语法糖,但我不能在循环内设置我的标志,这意味着我需要在$costlyCondition
外面再次评估。
有没有更清洁的方法来做到这一点?
c# - C# 的类似 Python 的字典声明?
在 Python 中可以这样做:
在 C# 中它更冗长:
我怎样才能使它不那么冗长?
java - Java in 运算符
第 100 万次,我希望使用IN
Java 中的运算符,类似于IN
SQL 中的运算符。它可以作为编译器语法糖来实现。所以这
......真的很棒。实际上,以上内容与此处相当冗长(且不适用于原语)的构造相同:
或者像这样的int
,long
和类似的类型:
或者也许会有更有效的实现。
问题:
像这样的东西会成为 Java 8 的一部分吗?如果没有,我怎么能提出这样的建议?还是我现在可以使用任何等效的构造?
perl - Perl 中有哪些语法糖可以减少 l/rvalue 运算符与 if 语句的代码?
那里有很多,因为 Perl 是一种非常含糖的语言,但任何语言中最常用的语句是 if 语句和设置值的组合。我想我已经找到了很多,但仍有一些差距。最终,目标是不必多次编写变量名:
这是我到目前为止所拥有的:
有人也有一篇关于“秘密操作员”的非常有趣的文章,如下所示:
但是,我发现列表中缺少的是:
还有什么值得补充的吗?还有哪些其他条件集变量可用于减少代码?还缺少什么?
python - 用于查询 Python 列表中哪个元素首先出现的语法糖
我有许多元素的列表。
我关心它的两个元素,a
和b
.
我不知道列表的顺序,也不想排序。
是否有一个不错的单行线,True
如果a
发生在之前会返回b
,否则会返回错误?
c# - 使用空合并运算符抛出的语法糖
假设如果我们尝试将 null 分配给某个东西,我们想抛出,那么这个技巧怎么样:
我们可以像这样使用:
你认为这是一个好/最差/无用的做法吗?