问题标签 [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.
php - if /elseif /else 的问题
如果您愿意让用户输入数据,我正在创建一个白名单。我被困在 elseif 语句上。
这是我的代码:
出于某种原因,即使 $data 是 9 个字符,第一个 if 语句通过,然后第二个失败,即使 $data 正好是 9 个字符,我也会不断收到“字段不能低于 9 个字符”。我返回 false 是因为在另一个脚本中我有函数调用 is_valid_data($data) 并且如果此函数返回 false 那么它将向用户返回错误。如果它返回true,那么数据是有效的,我们可以继续
我似乎无法摆脱这个问题。
c# - 如何在c#中实现决策矩阵
我需要根据一组相当大的 8 个相互依赖的条件做出决定。
从 A 到 H 的每个条件都可以是真 (1)、假 (0) 或与决策无关 (-)。
所以对于给定的输入
它应该评估为Decision02。
决策是明确的,因此从任何给定的输入条件集中,必须做出哪个决策是很清楚的(并且在决策矩阵未涵盖的情况下,应抛出异常)。
在我之前从事这个项目的开发人员试图将其实现为一个 500 行长的嵌套 if 庞然大物,这当然是错误的,而且不可维护。
所以我寻找了实现这样一个逻辑的最佳方法,我遇到了决策表/查找表/控制表。
我发现了很多决策表生成器,但没有找到关于如何实现决策过程的代码:(
我可以在底层 MSSQL 数据库、代码、xml 或其他任何方式中制作决策表。我只需要一些关于如何实现这一点的指示。
实现此逻辑的最佳实践是什么?字典?多维数组?完全不同的东西?
c# - c#嵌套不同深度的字典
基本上我需要的是不同 int 变量到字典的映射。或者至少我是这么想的。我能想到的最简单的方法是使用 switch 语句来解释我想要的。
为简洁起见,这是一个简化版本,否则您可能会有很多巢穴,并且在不止一种情况下等等。我在想一个好的解决方案是使用字典来快速选择正确的值,但这并不能很好地嵌套,因为嵌套字典的大多数内部嵌套都不需要值。
我首先想到字典的原因是因为类似于以下的声明语法会很好(类似于字典字典的语法)。
编辑:这不是必需的声明语法,但它简短易懂,这是我正在寻找的。
编辑:或 LINQ,我已经看到很多针对类似问题的 LINQ 建议,但我对它并不是特别熟悉。
lisp - 如何在 Lisp 中实现重做语句(如在 Perl 和 Ruby 中)
需要break
语句或continue
其他语言语句的代码可以在 Common Lisp 和 Emacs Lisp 中使用block
&return-from
或catch
&来完成。throw
然后是需要redo
语句的代码,或者至少最好用redo
. redo
语句不一定是关于循环的。redo
在 Lisp中我该怎么做?
如果 Lisp 中有redo
等价物,我认为它会像这样工作:特殊形式with-redo
,它采用符号和形式,并且redo
采用符号。表单(with-redo 'foo BODY-FORMS...)
可能包含(redo 'foo)
在其 BODY-FORMS 中,并将(redo 'foo)
控制权转移回 BODY-FORMS 的开头。
java - 遍历java数组for循环时访问索引
这可能是一个随机且挑剔的问题,但我最近在 Java 中对数组操作做了很多工作,我想知道在使用以下循环时是否:
如果有任何方法可以访问某种序数而不做我通常做的事情(声明一个额外的变量并在每次循环运行时添加一个变量)或者我的一个同事做了什么(使用
方法)?我觉得这两个都增加了相当多的开销。我知道我可以使用一个标准
循环,但在这个项目的上下文中使用修改后的 for 循环要方便得多。所以,问题是,有没有什么方法可以访问你正在使用的对象的索引,而无需像我上面所说的那样使用更多的内存密集型操作?
谢谢!
bash - Bash:在脚本中搜索命令块,然后执行这些命令
我有一个名为 bundle 的脚本,它使用 Here-documents 将文本文件组合成一个文件。这些文件,其名称在调用捆绑脚本时作为参数传递,被放置在单个文件中(此处命名为 filebundle),然后可以作为 bash 脚本执行,以将文件解包回单独的文件。
这是捆绑脚本:
这,当执行如下
生成以下文件,名为 filebundle:
正如我所说,它可以被抨击以解开 file1.txt 和 file2.txt
我的问题如下:我必须重写捆绑脚本,以便可以使用或不使用文件名作为参数来执行由此产生的 filebundle 文件,并且可以相应地解开其中包含的文件。
例如:
只会解绑 file2.txt 而不是 file1.txt。此外,不带参数抨击 filebundle 将解开 filebundle 中的所有文件。
我假设我应该使用“if...then...else”控制结构根据传递的参数来解包文件,我只能想到使用类似的东西
在 filebundle 中查找特定文件并解绑它们。然而,我似乎无法将这些组合在一起成为有效的东西。
非常感谢您的想法和建议。
php - 是休息;die() php 之后需要
我想了很多...
在开关盒区域break;
后需要die()
例子:
php - 可以从这段 PHP 代码中消除 for 循环吗?
我有一系列整数,可能会或可能不会丢失一些数字。是否可以在不使用循环结构的情况下找到最小的缺失数?如果没有缺失数字,该函数应返回该范围的最大值加一。
这就是我使用for
循环解决它的方法:
理想情况下,我想避免完全循环,因为范围可能很大。有什么建议么?
javascript - (var i = 0, item; item = a[i++];) 的语法是什么
在Re-Introduction to Javascript中,语法
被解释为中间的“项目”是对真实性/虚假性的条件测试。但是,我假设语法是(开始;条件测试;控制因子),每个段之间有分号。在这里,我不熟悉这种形式的语法(开始,条件测试;控制因子;),中间是逗号,最后是分号。是否相当于
?
如果是这样,为什么要在末尾使用逗号和分号?
php - 在 PHP 中:如果找到匹配的 case,是否会评估任何剩余的 case 语句?
我在一个紧密循环中有一个 switch 语句,如下所示:
我想看看是否有任何昂贵的比较是真的,但只有一个。我知道还有其他方法可以做到这一点,但这个看起来很干净。真正的问题是:如果expensive comparison
计算结果为真,它是否也运行another expensive comparison
,或者只是跳转到返回?
编辑: 我意识到这可以通过一个简单的 or 语句来完成,但现在我想知道理论上的缘故。