我一定错过了什么。我正在计算一个列表,想跳过特定的数字,所以我做了一个switch语句:
$locationNumber = 00
DO {
$locationNumber++
switch ($locationNumber) {
21 {$locationNumber++}
31 {$locationNumber++}
43 {$locationNumber++}
44 {$locationNumber++}
49 {$locationNumber++}
51 {$locationNumber++}
}
Write-Host $locationNumber
} while ($locationNumber -lt 53)
以下是输出:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 32 33 34 35 36 37 38 39 40 41 42 44 45 46 47 48 50 52 53
注意,44出现了,尽管我没有Rest。有人能告诉我为什么/解决这个问题的方法吗?
谢谢
编辑:为上下文添加更多代码
谢谢你的帮助,但我只是
$locationNumber = 00
DO {
$locationNumber++
switch ($locationNumber) {
21 {$locationNumber++}
31 {$locationNumber++}
43 {$locationNumber += 3}
47 {$locationNumber++}
49 {$locationNumber++}
51 {$locationNumber++}
}
Write-Host $locationNumber
} while ($locationNumber -lt 53)
在那里,我把3加到43,跳过了我不需要的那些。谢谢
如果要从一系列数字中消除一组固定的数字(21、31、43、44、49、51),请执行以下操作:
$(
switch (1..53) {
{ $_ -notin 21, 31, 43, 44, 49, 51 } { $_ }
}
) -join ' '
以上结果(为便于阅读而换行)-请注意上面列表中的所有数字是如何丢失的:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29
30 32 33 34 35 36 37 38 39 40 41 42 45 46 47 48 50 52 53
要捕获数组中的数字,只需指定一个变量来代替(…)
:
<代码>$nums=开关{…}
上述功能利用了以下特点:
>
...
,范围运算符,创建一系列整数作为数组。
接受脚本块({…})的开关语句
)作为分支条件,其中手头的输入对象可以通过任意表达式进行测试。
notin运算符,用于测试标量LHS是否不包含在RHS集合中。
至于你的尝试:
通过对要跳过的数字应用
,它们仍然是由在
switch
语句之后执行的Write Host
语句在do
语句的相同迭代中打印的。
Andrew Ryan Davis的有用答案通过
default
分支显示了该问题的解决方案。虽然上面的解决方案更加简洁,但Andrew的答案实际上更快,尽管这在实践中可能并不重要。
您可能需要的是switchesdefault
子句。
如果您将Switch语句中的Write-Host
移动到default
,这意味着如果不满足其他条件,则默认为此操作。
$locationNumber = 00
DO {
$locationNumber++
switch ($locationNumber) {
21 {}
31 {}
43 {}
44 {}
49 {}
51 {}
default {Write-Host $locationNumber}
}
} while ($locationNumber -lt 53)
问题内容: 我想知道是否有一种方法可以在java switch case语句中执行不区分大小写的匹配。默认实现 区分大小写 。请参见下面的示例。 因此,以上语句作为输出返回。而且我正在尝试使其像 不区分大小写的 匹配一样工作。我尝试将字符串文字都转换为小写,然后进行比较。但无法做到。 问题答案: 如果要这样做:只需确保输入数据全部为小写,并使用小写… 本地化问题 同样,古老的本地化问题再次引起人们
switch 语句可以替代多个 if 判断。 switch 语句为多分支选择的情况提供了一个更具描述性的方式。 语法 switch 语句有至少一个 case 代码块和一个可选的 default 代码块。 就像这样: switch(x) { case 'value1': // if (x === 'value1') ... [break] case 'value2':
使用 switch 语句可以更简洁地实现 if ~ else if 的结构。格式如下。 switch(base_expression) { casecondition_expression1: casecondition_expression2: : : default: : : } 写在 base_expression 位置的表达式会在刚开始时被求值。switch 后面的语句块中的 case
stwith语句的格式一般如下: 1 switch (expression){ 2 case value :statement1 3 break; 4 case value2 :statement2 5 break; 6 .... 7 case value: statement 8 break; 9 d
问题内容: 例如,如果我有以下声明: 在这种情况下,如果选择未返回任何结果,则be的值是多少? 问题答案: 简而言之,它将为null 我做了一个简单的临时表来测试 在不满足条件的情况下声明一个变量并获取值,则为null,如果您通过print语句查看,则不应打印任何内容 我只是再次插入以确认是否为空
本文向大家介绍Swift中switch语句区间和元组模式匹配,包括了Swift中switch语句区间和元组模式匹配的使用技巧和注意事项,需要的朋友参考一下 废话不多说了,下面一段代码给大家介绍了switch语句区间和元组模式匹配,具体内容如下所示: 以上所述是小编给大家介绍的Swift中switch语句区间和元组模式匹配,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此