问题标签 [expansion]

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

c - C 预处理器宏是否可以包含预处理器指令?

我想做相当于以下的事情:

现在,#ifdef就我在函数宏中看到的而言,不允许使用或任何嵌套的预处理器指令。有任何想法吗?

更新:所以这似乎是不可能的。即使是在运行时检查的 hack 似乎也无法实现。所以我想我会选择类似的东西:

0 投票
3 回答
2799 浏览

bash - 避免在 bash 内置函数 let 中扩展 *

我的 bash 脚本有问题。我必须使用运算符 * 进行乘法运算。相反,脚本通过扩展和使用脚本本身的名称作为运算符来困扰我。我尝试使用单引号,但它不起作用:(这是代码

0 投票
7 回答
668 浏览

algorithm - 在二维网格上模拟膨胀气体的算法

我有一个简单的程序,它的核心是一个二维浮点数组,据说代表气体浓度,我一直试图想出一个简单的算法来模拟向外膨胀的气体,就像一朵云,最终得到电网各处的气体浓度相同。

例如,给定的状态进程可能是:(为简单起见,使用整数)

起始状态

00000
00000
00900
00000
00000

1 次算法通过后的状态

00000
01110
01110
01110
00000

再过一次应该给出一个 5x5 的网格,所有网格都包含 0.36 (9/25) 的值。
我已经在纸上进行了尝试,但无论我如何尝试,我都无法理解算法来做到这一点。

所以我的问题是,我应该如何着手编写这个算法?我已经尝试了一些方法,应用卷积,尝试依次获取每个网格单元并将其分配给它的邻居,但它们最终都会产生不良影响,例如最终使用的气体比我最初开始时少,或者所有的气体运动都在一个方向上,而不是从中心向外扩展。我真的完全无法理解它,并且非常感谢任何帮助。

0 投票
4 回答
1827 浏览

bash - 如何在引用的表达式中转义扩展的路径名扩展模式?

除了基本*?[...]模式之外,Bash shell 还提供了扩展的模式匹配运算符,例如!(pattern-list)(“匹配除给定模式之一之外的所有模式”)。extglob需要设置 shell 选项才能使用它们。一个例子:

如果我将 shell 表达式传递给在子 shell 中执行它的程序,则运算符会导致错误。这是一个直接运行子外壳的测试(这里我从另一个目录执行以确保不会过早发生扩展):

我尝试了各种转义,但我想出的任何方法都没有正常工作。我也怀疑extglob没有设置在子shell中,但事实并非如此:

任何解决方案表示赞赏!

0 投票
2 回答
14703 浏览

shell - 为什么在 zsh 中使用 {1..9} 会出现此错误?

我运行以下代码

我明白了

这很奇怪,因为以下工作

这表明我的问题可能是 Zsh 中的错误。

以上是 {1..9} 的 Zsh 中的错误吗?

0 投票
5 回答
3612 浏览

c# - 使用语句扩展的好奇 C#

我已经运行 ildasm 来发现:

生成与此等效的 IL 代码:

问题是为什么它会在finally中检查null?finally 块只有在 try 块被执行时才会被执行,而 try 块只有在 Simple 构造函数成功(即不抛出异常)时才会被执行,在这种情况下 simp 将是非空的。(如果有人担心在 Simple 构造函数和 try 块的开头之间可能会出现一些干预步骤,那么这确实是一个问题,因为可能会引发异常,从而完全阻止 finally 块的执行。)那么,到底为什么?

抛开(请)使用语句是否比 try-finally 更好的论点,我将 try-finally 块编写为:

0 投票
3 回答
9378 浏览

c++ - 预处理器宏扩展为另一个预处理器指令

最初我认为我需要这个,但我最终避免了它。然而,我的好奇心(以及对知识的渴望,哼)让我问:

预处理器宏可以吗,例如在

扩展到另一个包括,例如

?

0 投票
3 回答
12124 浏览

makefile - Makefile 中的四个美元符号

我正在阅读 GNU Make 的文档。这是一个例子

%.d: %.c

我在一个 C++ 程序上试过这个,并得到了文件列表

init3d.d init3d.d.18449 input.d input.d.18444 main.d main.d.18439

这是我在同一个文档中发现但不理解的内容

如果您启用了二级扩展并且您希望在先决条件列表中使用文字美元符号,则您必须实际编写四个美元符号('$$$$')。

我想知道四个美元符号“$$$$”实际上是什么意思?他们如何 18449、18444 或 18439?

谢谢并恭祝安康!

0 投票
3 回答
1505 浏览

mysql - 无法在我的表上分配 FULLTEXT 索引

我正在尝试使用查询扩展在数据库表上实现搜索功能,并且我知道我必须在要搜索的字段上添加 FULLTEXT 索引。我已经尝试这样做并且没有从 PHPMyAdmin 得到错误,但是当我检查表的结构时,FULLTEXT 索引的基数为 0。我尝试单独设置 FULLTEXT 索引,它似乎工作,但我的 serach 返回错误:找不到与列列表匹配的 FULLTEXT 索引

任何想法出了什么问题?

0 投票
6 回答
3044 浏览

bash - Bash globbing - 针对一些特定情况的自动扩展?

我知道通配符*(本身)将以这样的方式扩展,它意味着“当前文件夹中的所有非隐藏文件”,隐藏文件是以句点为前缀的文件。

我认为有两个用例很有用,但我不知道如何正确执行:

  1. 你怎么能glob...“当前文件夹中的所有文件,包括隐藏文件,但不包括...”?

  2. 你怎么能glob...“当前文件夹中的所有隐藏文件(并且只有隐藏文件),但不包括...”?