質問: powershellのparamについて powershellについて質問いたします。 自分で確かめた限りですが、paramとargsは同時に使用できないのでしょうか? 使用の仕方は $args.length param($引数1,$引数2.$引数3) といった形で、paramの前にargs定義があると下記のエラーがでて 用語 'param' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してください。 逆にparamがargsの前にあると値が取れていないみたいです。(args.lengthの値が0) paramでlengthのようなことができればいいのですが。
回答: 自信なし。(あんまpowershell param($引数1,$引数2.$引数3) ←第二引数と第三引数の間はピリオドでいいの?カンマじゃなくて。試さないけど。 #関数型言語のschemeには、残りの引数を全部リストに突っ込んだものが代入されるとかある。 で。 paramというコマンドやらがあるのではなく、単に「関数」の構文の一部なだけなんじゃないかと思った。 http://technet.microsoft.com/en-us/library/dd347712.aspx for ($i = 0;$i < 5;i++) system.console.writeline("hello world"); { } みたいに埋め込まないのと一緒で。 #paramキーワードは省略可能。 ===================== >逆にparamがargsの前にあると値が取れていないみたいです。(args.lengthの値が0) それは多分、paramで指定するのが、「名前付きパラメーター(named parameters,powershell iseのヘルプの和訳を利用)」であって、 $argsによって取得できるのが、「位置指定パラメーター(positional parameters):powershellのヘルプによると【名前のない引数】」だからじゃないかなーと予測している。 >paramでlengthのようなことができればいいのですが。 これができるかどうかは確認してない。