学习 PowerShell – 计算 Fibonacci (斐波那契数列)


最近在学 Powershell, 发现语法和PHP很像, 但又有一些不太一样, 先放上递归的实现:

// helloacm.com
function Fib($n) {
    switch ($n) {
        0 { 1; break }
        1 { 1; break }
        default { 
            # 必须用 () 括号, 类似 js 里的 eval 
            (Fib($n - 1)) + (Fib($n - 2)) 
        }
    }
}

更为简短的:

// helloacm.com
function Fib($n) {
    if ($n -eq 1 -or $n -eq 0) { return 1 }
    (Fib($n - 1)) + (Fib($n - 2)) # 必须用 () 括号, 类似 js 里的 eval 
}

非递归的:

// helloacm.com
function Fib() {
    param ($n)
    $a = 0
    $b = 1
    for ($i = 1; $i -le $n; $i ++) {
        $c = $a + $b
        $a = $b
        $b = $c
    }
    $c
}

其中 也可以用 foreach 来实现 loop

foreach ($i in 1.$n) {

}

几点学习体会:

1. 参数可以在函数里写, 这个在C语言里是一样的.
2. 变量是可以用类型的, 比如你可以用 param([int]$n) 来声明 $n 是整形 (32 位)
3. 比较大于,小于等于, 都用LINUX下判断的风格, -gt, -lt, -eq, 逻辑 and, or 也是类似: -and, -or
4. for 和 C/C++ 里的一样
5. 变量声明和 PHP 里一样, 而且都必须是于 $ 符号开始.
6. return 和 exit 都是从函数里退出, 但是如果后面已经没有执行语句, 则可以省略.

英文同步: https://helloacm.com/learning-powershell-recursive-fibonacci-computation/

GD Star Rating
loading...
本文一共 189 个汉字, 你数一下对不对.
学习 PowerShell – 计算 Fibonacci (斐波那契数列). (AMP 移动加速版本)
上一篇: 移民英国后, 父母怎么办?
下一篇: 留园网拒了友情链接的要求

扫描二维码,分享本文到微信朋友圈
231a0ce89a6e2a1fb579158f40906ccb 学习 PowerShell - 计算 Fibonacci (斐波那契数列) 学习笔记 程序设计

评论