PowerShellの使用経験がほとんどないため、バイナリで入力する際にビット単位の操作を実行しようとしていました(読みやすくするため)。私はバイナリとの間で変換するために以下の関数を使いました。PowerShell関数のパラメータとしての式
bin(unbin('11001101') -bxor unbin('10110110'))
出力1111011
を期待:
function bin($a){
return [convert]::ToString($a,2)
}
function unbin($a){
return [convert]::ToInt64($a,2)
}
は、それから私は、次のように実行しようとしました。
私の驚いたことに、代わりに11001101
(結果はbin(unbin('11001101'))
)となります。
私はさらにカッコ内unbin
の呼び出しをラップするために必要な、私は理由を理解することはできません私のコードは、仕事を得るために:
bin((unbin('11001101')) -bxor (unbin('10110110')))
は、なぜこれらの余分な括弧が必要とされていますか?
大丈夫、それは素晴らしいことだ、なぜオブジェクトのメソッドは、括弧などが必要なのですか'' test ".Split" e "'は '' test ''の間に動作しません。 –
注PowerShellでの経験はほとんどないので、この時点ではコマンドレットやメソッドなどの違いがわかりません。 –
.NETメソッドは、C#での動作と同様に呼び出されます。コマンドレットと関数は設計されています。結局のところ、引数はスペースだけで区切られたシェルコマンドに似ています。 – Joey