问题标签 [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.

0 投票
10 回答
1060 浏览

c++ - 在 C++ 中进行“constify”操作是否有意义?

在其中产生变量的“ constify”操作是否有意义?C/C++const

这是一个可能有用的示例,显然我们不想const在第一行声明它:

目前,如果没有这种可能性,您必须引入另一个变量才能获得相同的效果:

这更令人困惑,因为它在范围中添加了一个新名称,并且您需要将其作为引用以避免复制整个向量(或使用swap?)。

0 投票
4 回答
153 浏览

c# - 在 C# 中是否有类似于 PHPs list() 的语言结构?

PHP 有一种语言结构list(),它在一个语句中提供多个变量赋值。

C#中有类似的东西吗?

如果没有,是否有任何解决方法可以帮助避免以下代码,而不必处理反射

0 投票
1 回答
203 浏览

perl - Import MooseX::Method::Signatures into caller's scope

I've made a "bundle" module which does a bunch of things: imports Moose, imports true, namespace::autoclean, makes the caller's class immutable (taken from MooseX::AutoImmute). The one thing I haven't been able to figure out is how to include MooseX::Method::Signatures.

Here's what I've got so far:

The idea is that in my code, I can now do things like this:

but right now I still have to include an extra use MooseX::Method::Signatures;. How can I include that into my OO module?

0 投票
7 回答
5234 浏览

c++ - 没有 typedef 的函数指针

是否可以在不使用 typedef 的情况下将预先声明的函数的类型用作函数指针?

函数声明:

通过某种语法使用函数声明作为函数指针

0 投票
7 回答
8004 浏览

java - Java 语法糖

我今天碰到了这段代码,不知道它是如何工作的。我知道如何创建匿名类,但我习惯于看到方法签名而不仅仅是一对大括号。这些大括号之间的代码是否放入静态块中?它进入构造函数吗?还是完全是别的东西?

0 投票
1 回答
12304 浏览

python - 在python中构建列表时忽略一个元素

我需要使用[f(char) for char in string]语法从 python 中的字符串构建一个列表,并且我希望能够忽略(不插入列表中)f(x) 的值等于None.

我怎样才能做到这一点 ?

0 投票
10 回答
2238 浏览

c# - C# 语法糖 - 设置对象属性的新方法?

对于这里的铁杆 C# 编码人员来说,这似乎是一个完全愚蠢的问题 - 然而,我刚刚在 AWS SDK 论坛中看到了一段示例代码,并完全被它扫视了:

这很容易让人想起旧的 VB6With ... End With语法,我一直为 C# 中没有这种语法感到遗憾——我已经在我的 VS2008 项目中编译了它,它可以很好地工作,节省了许多单独引用这些属性的单独行。

我确定我过去读过文章,解释为什么 VB6 样式With块不在 C# 中,所以我的问题是:这种语法是否一直存在于语言中,或者它是最近的 .NET 更改启用了吗?我们可以在相同的糖中覆盖所有对象实例化,然后是属性更改吗?

0 投票
1 回答
1585 浏览

php - 方法语法“public function direct(){}”在 PHP 中是如何工作的?

我目前正在学习 Zend Framework,并遇到了以下语法。

在 Zend Framework 中,可以使用以下语法调用此类中的 direct() 方法:

其中 redirector 是 _helper 对象中的一个对象(!),它位于控制器对象内部,我们在其中调用方法。这里的语法糖是你可以将参数传递给对象而不是方法,我们可以这样写:

..当然,这一切都很好。

这是我的问题:这个 direct() 方法在 OO PHP 中是标准的吗?或者这个功能是内置在 Zend 框架中的吗?我找不到任何关于此的文档。

谢谢!

0 投票
1 回答
133 浏览

php - 访问子对象的语法选择

我想知道我在这里的选择在语义和技术上是最优化的。我创建了一个简单的对象注册表类,但对象访问的方法让我想知道什么是最好的。我目前正在使用第一个变体:

  • 第一个变体使用__get()魔法,保持流畅的语法。
  • 第二个使用' getter '方法use()
  • 第三个使用__invoke()魔法,有人建议过,但我不太喜欢。

我只是想知道是否有人对使用这些选项中的任何一个(或没有)有见解或建议。在我的例子中使用 Registry 类的原因是提供关键对象的伪全球化,用于嵌套闭包(use每次都声明它们很麻烦)

这与我的另一个问题有些相关,在PHP 闭包和隐式全局变量范围

提前致谢 :)

0 投票
3 回答
21604 浏览

scala - 语法糖:_* 用于将 Seq 视为方法参数

我刚刚在网络上的某个地方注意到了这个结构:

是什么_*意思?这是某些方法调用的语法糖吗?我的自定义类应该满足哪些约束才能利用这种语法糖?