问题标签 [splat]

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 投票
3 回答
278 浏览

ruby - ruby 中字符串文字前面的 * 有什么作用?

这段代码似乎创建了一个范围从 a 到 z 的数组,但我不明白它的*作用。有人可以解释一下吗?

0 投票
1 回答
24436 浏览

ruby - Ruby 中的 *(星号)是什么意思?

可能重复:
* 运算符在 Ruby 中对这个字符串做了什么

可能在其他地方有答案,但我只是不知道如何找到它......

如果我是对的,则*意味着如果在函数定义中使用多个参数:

但是在*这样的代码中做了什么:

0 投票
3 回答
4546 浏览

powershell - 如何将一个 PowerShell 函数的“参数行”传递给另一个?

我正在尝试编写一些 PowerShell 函数来做一些事情,然后透明地调用现有的内置函数。我想原封不动地传递所有论点。我不想知道论点的任何细节。

我厌倦了使用'splat'来做到这一点,@args但这并没有像我预期的那样工作。

在下面的示例中,我编写了一个名为的玩具函数myls,它应该打印hello! 然后调用相同的内置函数 ,Get-ChildItem该内置别名ls调用的参数行的其余部分保持不变。到目前为止,我所拥有的效果很好:

的正确版本myls应该能够处理不带参数、带一个参数、带命名参数、从包含多个分号分隔的命令的行以及参数中的变量(包括包含空格的字符串变量)调用。基本上,它应该是ls.

下面的测试比较myls和内置ls

[注意:输出被省略和/或压缩以节省空间]

有没有办法可以重写myls以获得我想要的行为?

简短的回答:是的,这是可能的。坏消息:它需要知道参数细节的代码和关于一个希望调用的函数的其他元数据。好消息:不需要自己写这些。此元数据以编程方式可用,并且存在可用于自动生成骨架代理代码的模块(请参阅下面的@Jaykul 的答案)。我选择使用名为 "MetaProgramming" 的模块。导入后,生成一个插入式myls脚本非常简单:

New-ProxyCommand ls > .\myls.ps1

然后可以开始自定义新生成的myls.ps1脚本,如下所示:

瞧!这个新版本通过了所有测试。

0 投票
2 回答
837 浏览

c++ - 纹理splat opengl的最有效方法?

我必须组合多达 17 个纹理,然后使用 openGL 将其渲染为四边形(嗯,2 个三角形)。我必须渲染大量这些四边形——也许是 500 个。

我想知道最快/最好的方法是什么:

A. 多次渲染 B. 在 FBO 中组合纹理并渲染一次 C. 使用 opengl 多重纹理并在几次通道中渲染 D. 将纹理与 CPU 组合,上传到 opengl 纹理,然后渲染 E. 其他?

0 投票
2 回答
14001 浏览

ruby-on-rails - *(星号)符号在函数参数附近有什么作用以及如何在其他情况下使用它?

我正在使用 Ruby on Rails 3,我想知道*在函数参数附近存在运算符意味着什么,并了解它在其他场景中的用法。

示例场景(此方法来自 Ruby on Rails 3 框架):

0 投票
1 回答
1231 浏览

ruby - Ruby 1.9.2 - 多个 splat 参数问题

Ruby 新手,正在解决我试图在方法中接受多个 splat 参数的问题。我想我明白为什么它给我编译错误,但我不知道如何解决它。有关如何在参数中使用多个 splat 的任何帮助都会有所帮助。提前感谢您在这里的任何指导。

0 投票
2 回答
7359 浏览

scala - scala splat 可以用于任何不是可变参数的东西吗?

给定例如:

我可以正常调用:

或啪啪啪:

但是我可以使用 splat 为除 varargs 参数之外的任何参数提供参数吗?例如,我想做类似的事情:

那是行不通的,但是有什么方法可以实现从单个对象提供多个参数的相同效果,无论是元组还是其他对象?鉴于元组的长度和类型在编译时都是已知的,是否有任何理由无法为元组实现?

0 投票
5 回答
3051 浏览

javascript - 为什么调用“应用”而不是直接调用函数?

在查看 raphael 或 g.raphael 或其他库的源代码时,我注意到开发人员做了这样的事情:

为什么不直接调用函数呢,比如:

谢谢。

0 投票
3 回答
1700 浏览

ruby - Ruby 中的语法 [*a..b] 是什么意思?

注意:在 GitHub 上mischa 的splat有很多很酷的 * in action 交互式示例。

通过谷歌搜索,我发现了一种在 Ruby 中迭代一系列数字的方法(您的经典 C 风格 for 循环)

是做这样的事情

但是这种[*first..last]语法到底发生了什么?我玩过irb,我看到了这个:

我在网上阅读的所有内容都讨论了一元星号对于扩展和折叠传递给方法的参数很有用,对于可变长度参数列表很有用

我明白了,但我看不出它如何应用于我上面的块示例中正在进行的扩展。

需要明确的是,我知道 The Ruby Way 是迭代数组或集合,而不是使用数组长度并使用整数索引进行迭代。然而,在这个例子中,我实际上是在处理一个整数列表。:)

0 投票
2 回答
2253 浏览

ruby - 如何将数组传递给接受带有 splat 运算符的属性的方法?

如果我有这样的方法:

我如何能够将数组作为数字传递?

请注意,我无法更改 sum 方法以接受数组。