のら(NORA)のブログ

主にソフトについて備忘録で(手抜き)書いているのです!ご自由に観覧しやがれ、です。

autohotkey2.0勉強中(翻訳)その6(式編)

はじめに

翻訳とかあんま得意じゃないんだけど、とりあえず式の所らへん自分なりにまとめたやつ
間違いあったらコメくれれば訂正します。というか自分用だし、間違えて覚えてしまうから(´・ω・`)
参考:公式ヘルプ

式編

  • 式は、一連の変数、リテラル文字列、および/またはリテラル番号に対して1つまたは複数の操作を実行するために使用される
  • 式内の変数は、パーセント記号で囲まなくていい(引用符付きの文字列内の変数、擬似配列およびその他の二重引用符を除く)
  • したがって、リテラル文字列は変数と区別するために二重引用符で囲む必要がある

    ex: if (CurrentSetting > 100 or FoundColor <> "Blue")

  • 式に空の文字列を指定するには、空の引用符を使用する

    ex: if (CurrentSetting > 100 or FoundColor <> "")

  • 式の結果を変数に代入するには、:= 演算子を使用する

    ex: NetPrice := Price * (1 - Discount/100)

ブーリアン(boolean)型

  • 式が真または偽(IF文など)で評価する必要がある場合、空白またはゼロならは偽とみなされ、他のすべての結果は真とみなされる
  • 変数を空白にするか0を代入するだけで、偽の値を保持することができる
ex: 変数*ItemCount*が空白または0の場合  
if ItemCount  はfalse(偽)の判定(結果)になる
ex: if Done とすると(Doneは変数)変数の値がtrueかfalseか判定できる
  • NOT / > / = / < のような演算子は、真または偽の値を自動的に生成する
    • 真の場合は1、偽の場合は0が生成される
  • ただし、AND/OR演算子は常に入力値の1つを生成する
ex: A_Indexが5より大きい場合は変数Doneに1が、それ以外の場合にはFoundItの値が割り当てられる
Done := A_Index> 5 or FoundIt
  • 式中では、trueとfalseは1と0に解決される
ex: スクリプトをより読みやすくするためにこう書いてもいいっていうか書くなら普通こう書くでしょっていう  
CaseSensitive := false  
ContinueSearch := true

イント(整数)及びフロート(浮動小数点数)(Integers,floating point)型

  • 式中で、小数点や科学的表記法を含む数値は浮動小数点数と見なされる
  • それ以外の場合は整数として見なされる
  • 加算や乗算などのほとんどの演算子では、いずれかの入力が浮動小数点数の場合、結果も浮動小数点数になる
  • 式と非式の両方で、整数は16進数または10進数のいずれかの形式で記述できる
  • 16進数はすべて0xで始まる、例えば、Sleep 0xFFはSleep 255と同じ
  • 浮動小数点数は、オプションで小数点の有無にかかわらず科学的表記法(ex: 1e4または-2.1E-4)で記述することができる
  • 式中では、128、0x7F、1.0などの引用符で囲まれていない数値は、スクリプトが実行を開始する前に純粋な数値(十進数)に変換されるため、数値を文字列に変換すると、元のとは異なる値が生成されることがある
  • 3/2では1.5が得られ、4/2では2ではなく2.0が得られる
  • 1.0、5.0 // -3 は -2.0になる