読者です 読者をやめる 読者になる 読者になる
無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

解析モード

Power Shellのスクリプト解析には、「コマンドモード」と「式モード」があります。

  • 式モード
    • スクリプトを「最上位レベル言語として解析」します。
    • 「2+2」や「"aaa"」などは式として(一般的な感覚からして普通に)評価されます。
  • コマンドモード
    • シェル内でのコマンド呼び出しのようにスクリプトを評価します。
    • 以下を除いた全てが「文字列」として扱われます。
      • 変数
      • 括弧内で括られた文字列

具体的には、「3*3」というスクリプトがあった場合、

  • 式モードでは、整数の「9」
  • コマンドモードでは、文字列の「"3*3"」

と評価されます。

PS C:\> 3*3 | echo # この場合、「3*3」は式モードで評価された後、echoに渡る。
9
PS C:\> echo 3*3 # この場合、「3*3」はコマンドモードで評価され、echoに渡る。
3*3

モードの切り替えルール

どのモードで解析を行なうかは、スクリプトの文字で決まります。クイックリファレンスによると、ルールは以下の通り。

  • 文字、& (アンパサンド)、または . (ピリオド) で行が開始され、その後に空白または文字が続く場合 → コマンドモード
  • トークンが数値、変数、または引用符で囲まれた文字列の場合 → 式モード

コマンドモードの一部を式モードで評価したい

括弧で括られた文字列は、個別にモードの判定が行なわれます。なので、コマンドモードでも、式モードで評価される文字列を「()」で括るとそこだけ式モードにできます

PS C:\> echo (3*3)
9
PS C:\> echo (3*3)*3
9
*3
PS C:\> echo ((3*3)*3)
27
PS C:\> echo pwd
pwd
PS C:\> echo (pwd)

Path
----
C:\