Questions tagged «syntactic-sugar»

27
Java的“ for each”循环如何工作?
Наэтотвопросестьответына 堆栈溢出нарусском:Какработаетцикл的foreachвJava的? 考虑: List<String> someList = new ArrayList<String>(); // add "monkey", "donkey", "skeleton key" to someList for (String item : someList) { System.out.println(item); } 如果for不为每种语法使用,等效循环将是什么样?

2
符号数组有文字表示法吗?
我喜欢这个字符串数组的文字表达: %w( i can easily create arrays of words ) 我想知道是否有文字来获取符号数组。我知道我能做 %w( it is less elegant to create arrays of symbols ).map( &:to_sym ) 但是仅仅使用文字就太好了。


30
最好的JavaScript语法糖
这是一些宝石: 文字: var obj = {}; // Object literal, equivalent to var obj = new Object(); var arr = []; // Array literal, equivalent to var arr = new Array(); var regex = /something/; // Regular expression literal, equivalent to var regex = new RegExp('something'); 默认值: arg = arg || …

3
Scala的apply()方法魔术如何工作?
在Scala中,如果定义了apply在类或顶级对象中调用的方法,则每当我在该类的实例后面加上一对括号并apply()在它们之间放置适当的参数时,就会调用该方法。例如: class Foo(x: Int) { def apply(y: Int) = { x*x + y*y } } val f = new Foo(3) f(4) // returns 25 因此,基本上,object(args)只是的语法糖object.apply(args)。 Scala如何进行这种转换? 是否存在全局定义的隐式转换,类似于Predef对象中的隐式类型转换(但种类不同)?还是更深层的魔力?我问,是因为Scala似乎强烈赞成一致地应用较小的规则集,而不是许多例外的规则。最初,这对我来说似乎是个例外。

30
您所看到的扩展方法的最佳或最有趣的用法是什么?[关闭]
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 9年前关闭。 我开始真的很喜欢扩展方法...我想知道她是不是偶然发现了一个真正让他们震惊或只是聪明的人。 我今天写的一个例子: 根据其他用户的评论进行了编辑: public static IEnumerable<int> To(this int fromNumber, int toNumber) { while (fromNumber < toNumber) { yield return fromNumber; fromNumber++; } } 这允许将for循环编写为foreach循环: foreach (int x in 0.To(16)) { Console.WriteLine(Math.Pow(2, x).ToString()); } 我等不及要看其他示例了!请享用!

9
C#属性和ref参数,为什么不加糖?
我在使用C#时遇到了这个错误消息 属性或索引器可能无法作为out或ref参数传递 我知道是什么原因造成的,并快速创建了正确类型的局部变量,并以out/作为ref参数调用该函数,然后将其分配回属性: RefFn(ref obj.prop); 变成 { var t = obj.prop; RefFn(ref t); obj.prop = t; } 显然,如果该属性在当前上下文中不支持get和set,则此操作将失败。 为什么C#不能为我做到这一点? 我可以想到的地方可能是唯一的情况是: 穿线 例外情况 对于线程而言,这种转换会影响写入发生的时间(在函数调用之后还是在函数调用之后),但是我宁愿怀疑依靠它的任何代码在中断时都不会产生同情。 对于例外情况,关注的是;如果该函数分配给多个ref参数之一而不是throw,会发生什么?任何琐碎的解决方案都会导致在某些参数应该被分配和某些参数不应该被分配时给所有参数分配或不分配参数。同样,我认为不支持使用该语言。 注意:我了解产生此错误消息的机制。我要寻找的是C#不能自动实现琐碎变通办法的理由。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.