メソッド呼び出し時には「()」が必須です。
Power Shellの関数を呼び出す場合、引数の「()」は不要(正確には使えるけど解析モード切替の意味になる)ですが、
PS C:\> function Pow( $x, $y ) { [System.Math]::Pow($x,$y) } PS C:\> Pow 2 5 32 PS C:\> Pow 2, 5 "Pow" の引数 "0" (値 "System.Object[]") を型 "System.Double" に変換できません: ""System.Object[]" を "System.Double" に 変換できません。" 発生場所 行:1 文字:44 + function Pow( $x, $y ) { [System.Math]::Pow( <<<< $x,$y) } PS C:\> Pow( 2, 5 ) "Pow" の引数 "0" (値 "System.Object[]") を型 "System.Double" に変換できません: ""System.Object[]" を "System.Double" に 変換できません。" 発生場所 行:1 文字:44 + function Pow( $x, $y ) { [System.Math]::Pow( <<<< $x,$y) }
オブジェクトのメソッドを呼び出す場合には必須です。「()」がないとエラーになります。
PS C:\> [System.Math]::Pow(2,5) 32 PS C:\> [System.Math]::Pow 2 5 式またはステートメントのトークン '2' を使用できません。 発生場所 行:1 文字:21 + [System.Math]::Pow 2 <<<< 5 PS C:\> [System.Math]::Pow 2,5 式またはステートメントのトークン '2' を使用できません。 発生場所 行:1 文字:21 + [System.Math]::Pow 2, <<<< 5
これも未だにはまる。