问题标签 [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.
python - 是否有在 python 中查询字典的简写?
这是我要执行的查询类型,用伪代码编写:
显然,我可以在 python 中这样写:
但我怀疑有一种更清洁的方法。我是 python 新手,所以我仍然非常迫切地接近它。
编辑:
这是我在查看其他一些关于 SO 的问题后提出的解决方案:
想必还有更好的办法。
c++ - C/C++ 中的语法糖
我一直在研究 Ruby,发现它的关键字“直到”和“除非”非常有趣。所以我想什么是在 C/C++ 中添加类似关键字的好方法。这就是我想出的:
我正在寻找这方面的一些建议。任何人都可以提出更好的选择吗?
这是我编写的一个程序示例,用于说明我打算做什么:
如果您能指出一些可以在 C 或 C++ 中使用的类似技巧的参考资料,那就太好了。
ruby - 如何神奇地为 Active Record 范围提供参数?
我不确定这是否可行,但让我们看看你们中的某个人是否想出了解决方案。这或多或少与可读性方面的代码质量有关,而不是实际问题,因为我已经有了解决方案。我有一个友谊模型和一个用户模型。友谊模型用于模拟两个用户之间的友谊:
是否可以在不提供参数的情况下通过用户模型调用请求的、未决的或接受的范围?
java - java,有没有办法我们可以用另一个名字导入一个类
有没有办法我们可以用另一个名字导入一个类?就像我有一个名为 javax.C 的类和另一个名为 java.C 的类,我可以在名称 C1 下导入 javax.C 并在名称 C2 下导入 java.C。
我们可以在 C# 中做这样的事情:
或 Vb:
c# - foreach 是纯粹的“语法糖”吗?
当与数组一起使用时,编译器会将foreach
循环编译为类似于for
循环的内容。当与or一起使用时foreach
,编译器会将循环编译foreach
成类似于循环的东西。那么这是否意味着纯粹?或者它有什么复杂之处?while
foreach
IEnumerable
IEnumerable<T>
foreach
syntactic sugar
CLR 知道foreach
吗?foreach
MSIL 代码中是否有专门设计的内容?
c# - 如何将集合初始化器语法与 ExpandoObject 一起使用?
我注意到新ExpandoObject
实现IDictionary<string,object>
具有必要条件IEnumerable<KeyValuePair<string, object>>
和Add(string, object)
方法,因此应该可以使用集合初始化器语法向 expando 对象添加属性,就像向字典添加项目一样。
但似乎没有办法做到这一点。错误:
“System.Dynamic.ExpandoObject”不包含“添加”的定义
我认为这不起作用,因为接口是显式实现的。但是有没有办法解决这个问题?这工作正常,
但集合初始值设定项语法要简洁得多。
c# - 为什么 C# 静态构造函数需要括号?
考虑:
为什么()
需要 in static Foo() {...}
?静态构造函数必须始终是无参数的,那何必呢?它们是否有必要避免一些解析器的歧义,或者只是为了保持与常规无参数构造函数的一致性?
因为它看起来很像一个初始化程序块,所以我经常发现自己不小心把它们排除在外,然后不得不考虑几秒钟来思考哪里出了问题。如果可以以相同的方式省略它们,那就太好了。
iterator - 是否有一些聪明的方法可以编写一个 lua 对象,使其兼作迭代器?
假设我有一些我在别处定义的“对象”。也许它代表一组项目,但比简单的表格更复杂。无论它是什么,迭代它都是合乎逻辑的。
因此,它iterator
定义了一个方法。所以我可以这样写:
我想知道是否有一些我可以做的元方法技巧,这将允许我写这个:
那么有吗?
list - Scala:替代列表语法(如果可能,使用方括号)
Scala 中是否有替代的“列表”语法?是否可以定义一个名为“[”和“]”的附加类/类型/运算符*?
我知道“方括号”用于表示类型,但它们非常适合声明列表的重复任务。
一种 ';' 或者 '?' 作为最后的资源也会很好。
谢谢
obs.:经过大量搜索,我发现唯一的选择是使用“缺点”:
但它根本不会减少任何键输入。
- 我还在 Scala 中学习这些东西
编辑:只是为了澄清:在我的情况下,性能不是优先事项。是的,不欢迎换班。:P 幕后动机:我喜欢 Haskell 风格,但不能直接在 Java 中使用。
编辑 2:基于两种 Rex Kerr 解决方案的最终解决方案
实现对象类型:
使用对象类型:
scala - 带尖括号 (<>) 的方法
方法名称中是否可以使用尖括号,例如:
实际情况显然比这更复杂!!我试图提供一个方便的用户界面。