관리 메뉴

ㄴrㅎnㅂrㄹrㄱi

식 본문

AUTOHOTKEY/레퍼런스

님투 2007. 11. 7. 23:46
반응형

개요

x:=(a+b)*10
if(x>1000){
    func(x+y,1)
}

연산자나 함수호출해, 「()」 등을 조합하고, 복잡한 처리를 실시할 수 있다.
식의 결과는 변수에 대입하거나 분기의 조건에 사용할 수 있다.
단지 함수의 실행만을 실시하는 일도 가능.

또, 일부의 커멘드에 준비되어 있는 수치를 단독으로 지정하는 타입의 인수에서는, 식에서 값을 지정할 수도 있다.
그 이외의 인수에서도, 「% a+b」(와)과 같이 인수의 최초로 「%」라고 공백 문자를 적으면, 식을 지정할 수 있다.

getSomeValue()>0 or die()

상기와 같이, 「 or」연산자가 좌변이 가짜 때만 우변의 평가를 실시하는 것 등을 이용하면, 「함수의 결과가0보다 크지 않으면 다른 함수를 실행」이라고 하는 처리를 식만으로 기술할 수도 있다.
다만, 아래와 같은 대입식이나 함수 호출해 이외로 시작되는 식은, 부정한 행으로 간주해져 버린다.

0<(x:=getSomeValue()) or die()

변수

각종 커멘드의 인수로 사용하는 경우와 달리, 식중에서 변수를 사용하는 경우는, 「%」(으)로 사이에 두지 않고 그대로 변수명을 쓰면 좋다.

아래와 같이, 식중에 「%」에서는씨로 변수명을 쓰면, 그 내용이 전개된 다음, 변수명으로서 다루어진다.
전후의 변수명으로서 타당한 문자와 아울러 변수명으로서 다루어진다.

Var1:=100,Var2:=10,Index:=1,VarName:="Var2"
MsgBox,% Var%Index%+%VarName%
a:=1,b:=2,c:=3,xxx1xxx23xxx:=10000
MsgBox,% xxx%a%xxx%b%%c%xxx

변수내의 문자열을 전개한 결과, 변수명으로서 올바르지 않은 문자열이 되어 버리는 경우는, 에러가 된다.

문자열

showmessage("He said ""hello""")

문자열은, 「"」(으)로 사이에 둔다.
하늘의 문자열을 나타내려면 , 「""」라고2개 계속하고 쓰면 좋다.
문자열중에 「"」(을)를 포함하고 싶은 경우, 「"」대신에 「""」라고2개 계속하고 쓴다.

text:=
MsgBox,% text

식의 내용이 하늘의 경우, 하늘의 문자열로 간주해진다.

수치

SetFormat,FLOAT,0.1
MsgBox,% 0.1+0.2
MsgBox,% 10/3
MsgBox,% 10/3 + 10/3 + 10/3

산술 연산자의 어느 쪽인지가 소수치였던 경우, 결과는 소수치가 된다.
또, 연산 결과가 소수가 되는 경우도, 자동적으로 소수치가 된다.

산술 연산의 결과가 소수의 경우, 계산 도중은 부동 소수점치로 보관 유지되어 최종적으로 SetFormat커멘드로 지정된 형식에서 변수에 격납된다.

「1/0」 「x+*y」등과 같이, 정상적으로 처리할 수 없는 연산은, 하늘의 문자열로서 다루어진다.

진위치

if()(이)나 「!」 「NOT」 「AND(&&)」 「OR(||)」등의 논리 연산자에서는, 피연산자가 되는 식이 진위치로서 다루어진다.

「<」 「>」 「<=」 「>=」 「=」 「==」 「<>」 「!=」(와)과 같은 비교 연산자의 연산 결과는, 조건에 일치했을 경우진, 일치하지 않았던 경우가짜로 간주해진다.
수치는, 「0.0」(이)나 「0」(이)가 가짜, 그 이외는 진으로 간주해진다.
하늘의 문자열은 가짜,1문자 이상의 문자열은 진으로 간주해진다.

비교 연산자나 논리 연산자의 결과는, 진정한 경우는 「1」, 가짜 경우는 「0」(이)가 된다.

진을 나타내는 「true」, 가짜를 나타내는 「false」라고 하는 편입 변수가 준비되어 있다.

논리 연산의 생략

식중에서 「and」(이)나 「or」의 연산으로 연결된 논리식을 실행하는 경우, 왼쪽에서 실행해, 대답이 확정한 시점에서 평가를 종료한다.
예를 들어, 「a or b」에서는, 「a」(이)가true의 경우, 식 전체가true(이)가 되는 것은 분명해서 「b」의 평가는 행해지지 않는다.
같이 「a and b」에서는, 「a」(이)가false의 경우, 식 전체가false(이)가 되는 것이 분명해서 「b」의 평가는 행해지지 않는다.
식중의 함수 호출은 평가시에 실행되므로, 「a or B()」(와)과 같은 식에서는, 「B()」(이)가 실행되지 않는 경우가 있다.

연산자

식중에서 사용할 수 있는 연산자에는, 이하의 것이 있다.
자세한 것은 링크처의 개별 설명을 참조.

문자열 연산자

.(문자열 연결)

산술 연산자

-(부호 반전), +(가산), -(감산), *(곱셈), /(제산), //(결론 짓지 않는 제산), **(나무승), ++/--

비트 연산자

~(비트 반전), |(비트 논리합), &(비트 논리적), ^(비트 배타적 논리합), >>(논리 오른쪽 시프트), <<(왼쪽 시프트)

논리 연산자

!(논리 부정), ||(논리합), ||(논리적)

비교 연산자

>(대든지), <(소든지), >=(이상), <=(이하), =(대문자 소문자 무시의 등치), ==(등치), !=(비등치)

주소 연산자

&(주소), *(주소에 격납된 값)

그 외

각종 대입 연산자, ?:(조건), ,(콤마 단락으로 복수의 식을 평가)

반응형

'AUTOHOTKEY > 레퍼런스' 카테고리의 다른 글

키/mouse button명 일람  (0) 2007.11.07
함수  (0) 2007.11.07
스크립트  (1) 2007.11.07
SetKeyDelay  (0) 2007.11.07
[그외] ErrorLevel  (0) 2007.11.07
Comments