问题标签 [control-structure]

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

php - if /elseif /else 的问题

如果您愿意让用户输入数据,我正在创建一个白名单。我被困在 elseif 语句上。

这是我的代码:

出于某种原因,即使 $data 是 9 个字符,第一个 if 语句通过,然后第二个失败,即使 $data 正好是 9 个字符,我也会不断收到“字段不能低于 9 个字符”。我返回 false 是因为在另一个脚本中我有函数调用 is_valid_data($data) 并且如果此函数返回 false 那么它将向用户返回错误。如果它返回true,那么数据是有效的,我们可以继续

我似乎无法摆脱这个问题。

0 投票
6 回答
9551 浏览

c# - 如何在c#中实现决策矩阵

我需要根据一组相当大的 8 个相互依赖的条件做出决定。

从 A 到 H 的每个条件都可以是真 (1)、假 (0) 或与决策无关 (-)。

所以对于给定的输入

它应该评估为Decision02。

决策是明确的,因此从任何给定的输入条件集中,必须做出哪个决策是很清楚的(并且在决策矩阵未涵盖的情况下,应抛出异常)。

在我之前从事这个项目的开发人员试图将其实现为一个 500 行长的嵌套 if 庞然大物,这当然是错误的,而且不可维护。

所以我寻找了实现这样一个逻辑的最佳方法,我遇到了决策表/查找表/控制表。

我发现了很多决策表生成器,但没有找到关于如何实现决策过程的代码:(

我可以在底层 MSSQL 数据库、代码、xml 或其他任何方式中制作决策表。我只需要一些关于如何实现这一点的指示。

实现此逻辑的最佳实践是什么?字典?多维数组?完全不同的东西?

0 投票
5 回答
1861 浏览

c# - c#嵌套不同深度的字典

基本上我需要的是不同 int 变量到字典的映射。或者至少我是这么想的。我能想到的最简单的方法是使用 switch 语句来解释我想要的。

为简洁起见,这是一个简化版本,否则您可能会有很多巢穴,并且在不止一种情况下等等。我在想一个好的解决方案是使用字典来快速选择正确的值,但这并不能很好地嵌套,因为嵌套字典的大多数内部嵌套都不需要值。

我首先想到字典的原因是因为类似于以下的声明语法会很好(类似于字典字典的语法)。

编辑:这不是必需的声明语法,但它简短易懂,这是我正在寻找的。

编辑:或 LINQ,我已经看到很多针对类似问题的 LINQ 建议,但我对它并不是特别熟悉。

0 投票
3 回答
251 浏览

lisp - 如何在 Lisp 中实现重做语句(如在 Perl 和 Ruby 中)

需要break语句或continue其他语言语句的代码可以在 Common Lisp 和 Emacs Lisp 中使用block&return-fromcatch&来完成。throw然后是需要redo语句的代码,或者至少最好用redo. redo语句不一定是关于循环的。redo在 Lisp中我该怎么做?

如果 Lisp 中有redo等价物,我认为它会像这样工作:特殊形式with-redo,它采用符号和形式,并且redo采用符号。表单(with-redo 'foo BODY-FORMS...)可能包含(redo 'foo)在其 BODY-FORMS 中,并将(redo 'foo)控制权转移回 BODY-FORMS 的开头。

0 投票
5 回答
1232 浏览

java - 遍历java数组for循环时访问索引

这可能是一个随机且挑剔的问题,但我最近在 Java 中对数组操作做了很多工作,我想知道在使用以下循环时是否:

如果有任何方法可以访问某种序数而不做我通常做的事情(声明一个额外的变量并在每次循环运行时添加一个变量)或者我的一个同事做了什么(使用

方法)?我觉得这两个都增加了相当多的开销。我知道我可以使用一个标准

循环,但在这个项目的上下文中使用修改后的 for 循环要方便得多。所以,问题是,有没有什么方法可以访问你正在使用的对象的索引,而无需像我上面所说的那样使用更多的内存密集型操作?

谢谢!

0 投票
1 回答
158 浏览

bash - Bash:在脚本中搜索命令块,然后执行这些命令

我有一个名为 bundle 的脚本,它使用 Here-documents 将文本文件组合成一个文件。这些文件,其名称在调用捆绑脚本时作为参数传递,被放置在单个文件中(此处命名为 filebundle),然后可以作为 bash 脚本执行,以将文件解包回单独的文件。

这是捆绑脚本:

这,当执行如下

生成以下文件,名为 filebundle:

正如我所说,它可以被抨击以解开 file1.txt 和 file2.txt

我的问题如下:我必须重写捆绑脚本,以便可以使用或不使用文件名作为参数来执行由此产生的 filebundle 文件,并且可以相应地解开其中包含的文件。

例如:

只会解绑 file2.txt 而不是 file1.txt。此外,不带参数抨击 filebundle 将解开 filebundle 中的所有文件。

我假设我应该使用“if...then...else”控制结构根据传递的参数来解包文件,我只能想到使用类似的东西

在 filebundle 中查找特定文件并解绑它们。然而,我似乎无法将这些组合在一起成为有效的东西。

非常感谢您的想法和建议。

0 投票
3 回答
1051 浏览

php - 是休息;die() php 之后需要

我想了很多...

在开关盒区域break;后需要die()

例子:

0 投票
10 回答
783 浏览

php - 可以从这段 PHP 代码中消除 for 循环吗?

我有一系列整数,可能会或可能不会丢失一些数字。是否可以在不使用循环结构的情况下找到最小的缺失数?如果没有缺失数字,该函数应返回该范围的最大值加一。

这就是我使用for循环解决它的方法:

理想情况下,我想避免完全循环,因为范围可能很大。有什么建议么?

0 投票
2 回答
1551 浏览

javascript - (var i = 0, item; item = a[i++];) 的语法是什么

Re-Introduction to Javascript中,语法

被解释为中间的“项目”是对真实性/虚假性的条件测试。但是,我假设语法是(开始;条件测试;控制因子),每个段之间有分号。在这里,我不熟悉这种形式的语法(开始,条件测试;控制因子;),中间是逗号,最后是分号。是否相当于

?

如果是这样,为什么要在末尾使用逗号和分号?

0 投票
4 回答
122 浏览

php - 在 PHP 中:如果找到匹配的 case,是否会评估任何剩余的 case 语句?

我在一个紧密循环中有一个 switch 语句,如下所示:

我想看看是否有任何昂贵的比较是真的,但只有一个。我知道还有其他方法可以做到这一点,但这个看起来很干净。真正的问题是:如果expensive comparison计算结果为真,它是否也运行another expensive comparison,或者只是跳转到返回?

编辑: 我意识到这可以通过一个简单的 or 语句来完成,但现在我想知道理论上的缘故。