需要解释一下这个 PS 代码计算斐波那契数列中 < 100 的元素

弗雷德·埃里克

我了解这段代码的作用,但不了解它的作用。

$($c=$p=1; while ($c -lt 100) {$c; $c,$p=($c+$p),$c})

这部分{$c; $c,$p=($c+$p),$c}在每个循环中进行处理。我明白了,但我不明白那$c,$p=($c+$p),$c部分。这里是一个数组吗?有人能解释一下每个循环到底发生了什么吗?

这是我认为会发生什么。

  • $c; 允许显示要输出的当前值。
  • $c,$p=($c+$p),$c计算斐波那契数列中的下一个值并更新$c并且$p相等。但是为什么这种类似数组的语法呢?它是如何工作的 ?
圣地亚哥·斯夸松
$c= $p = 1 # $c = 1, $p = 1

while ($c -lt 100) # while $c is lower than 100
{
    $c # $c to Standard Output

    $c, $p = ($c+$p), $c
    # ($c + $p) is processed first, on first iteration 1+1
    # 2, $c this generates an array @(2, 1) on first iteration
    # $c, $p = This assigns the position 0 of the array to $c
    # and position 1 to $p
}

如果你真的想分解代码,这或多或少(如果这不是 100% 准确,我很抱歉)正在发生的事情:

$c = $p = 1

while ($c -lt 100)
{
    $c
    
    $temp1 = $c + $p
    $temp2 = $c

    $c = $temp1
    $p = $temp2
}

来自关于赋值运算符的MS Docs

在 PowerShell 中,您可以使用单个命令为多个变量赋值。赋值的第一个元素分配给第一个变量,第二个元素分配给第二个变量,第三个元素分配给第三个变量,依此类推。这称为多重赋值

例子

PS /> $one,$two = 'one','two'
PS /> $one
one

PS /> $two
two

PS /> $one,$two = @(
'one'
'two'
)

PS /> $one
one

PS /> $two
two

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

这个斐波那契数列代码是如何工作的?

斐波那契数列 - 如何计算前 100 个偶数斐波那契数的总和?

我想用 C 编写斐波那契数列程序,但我得到的最后一个元素为负数

请解释一下ps -ef命令的输出?

如何创建一个Javascript生成器来计算斐波那契数列?

解释一下代码?

在斐波那契数列函数中为我定义a = b和b = sum的含义,有人可以解释一下他们的工作吗

如何修改这个斐波那契数列问题?

谁能解释一下“在HTML中,计算机可以解释包装在HTML元素中的原始文本”

有人可以解释一下这个Java代码

请谁能解释一下这个递归代码?

有人可以解释一下这个代码片段吗

向我解释一下这个简单的Ruby代码

您能解释一下这个dart json解析代码吗?

有人可以解释一下这个SQL代码吗?

有人能解释一下这个初始化代码吗?

谁能解释一下这个 XSLT 代码中发生了什么?

谁能解释一下这个递归函数在 C++ 中是如何工作的?

谁能解释一下这个在 XML 中的含义?

这个斐波那契代码(Ruby)如何工作?

我应该如何修复此代码,其中我需要打印斐波那契数列中的前 n 个数字?(C++)

我需要解释一下霍夫代码的具体部分(opencv/c++)

如何为斐波那契数列编写python程序并需要在金字塔中显示数列?

计算每个节点的树高,帮我解释一下这个代码解决方案

在斐波那契搜索算法中需要帮助

您能解释一下这个反应本机代码(render方法中的奇怪箭头功能)吗?

有人能解释一下这个python代码中的“printtree”函数是如何工作的吗

谁能解释一下这段代码

请解释一下代码?