关键字作为参数,是否定义明确?

时间:2015-08-21 16:11:57

标签: powershell

以下Powershell代码在我的Windows 7中运行正常(在ISE中运行):

function is_odd { $args[0] % 2 -eq 1; }
function choose_if { if( $args[0] ) { &$args[1]; } else { &$args[3]; } }

clear-host;
$i = 42;
for( ;; ) {
    write $i
    if( $i -eq 1 ) { break; }
    $i = choose_if( is_odd $i ) { 3*$i + 1 } else { $i/2 };
}

但是,它是否定义明确,以便继续工作,例如在Windows 10中?

我找不到类似语言的正式规范。

1 个答案:

答案 0 :(得分:0)

PowerShell通常是向后兼容的,自第2版以来,该语言几乎没有重大变化。

Windows PowerShell 5.0 is backward-compatible. Cmdlets, providers, modules, snap-ins, scripts, functions, and profiles that were designed for Windows PowerShell 4.0, Windows PowerShell 3.0, and Windows PowerShell 2.0 generally work in Windows PowerShell 5.0 without changes.

我相信你的脚本可以在任何PowerShell版本2.0或更高版本上正常工作。