관리 메뉴

ㄴrㅎnㅂrㄹrㄱi

.=연산자 변수에 식의 계산 결과를 대입 본문

AUTOHOTKEY/레퍼런스

.=연산자 변수에 식의 계산 결과를 대입

님투 2007. 11. 4. 20:38
반응형

대입 연산자

변수에 식의 계산 결과를 대입

Var := Expression
Var op= Expression

Parameters


Var 대입처의 변수명.「ArrayName%Index%」(와)과 같이, 변수의 참조를 포함하면, 변수의 내용을 전개한 변수명이 사용된다.
op 「+」 「-」 「*」 「/」 「//」 「.」 「|」 「&」 「^」 「>>」 「<<」의 어느 쪽인가의 연산자.
Expression 식. 식의 설명참조.

Remarks

「:=」에서는,Expression(을)를 평가한 결과의 값이Var그리고 지정한 변수에 대입된다.

var:=x+y+z

「+=」(이)나 「*=」(와)과 같은 형식에서는,Var그리고 지정한 변수와Expression(을)를op그리고 지정한 연산자로 연산한 결과가Var자신에게 대입된다.
상기의 예에서는,x의 값은11(이)가 된다.
대입식 전체의 값은, 대입 후의 변수의 값이 된다.

x:=1
MsgBox,% x+=1

대입 연산자가 연속하고 있는 경우, 제일 오른쪽의 것으로부터 순서에 계산된다.
아래와 같은 예에서는, 우선c에1하지만 다리 되어4(이)가 되어,b에c하지만 다리 되어6(이)가 되어,a에b하지만 더해져7(이)가 된다.

a:=1,b:=2,c:=3
a+=b+=c+=1
MsgBox,%a%,%b%,%c%

대입식 자체는, 대입처의 변수를 나타내는 것이라고 해도 다루어지기 위해, 그것을 더욱 대입식의 좌변에 사용하거나 「 &」연산자로 주소를 참조하거나 함수의ByRef부착 인수에 사용할 수도 있다.
아래와 같은 예에서는, 우선x에1하지만 가산해, 더욱2(을)를 걸어func()함수에 참조 인수로서 건네주어, 함수내에서10(을)를 가산한다.

func(ByRef arg){
    arg+=10
}
x:=1
func((x+=1)*=2)
MsgBox,% x

「+=」 「-=」 「*=」 「/=」(이)가 제일 왼쪽의 연산자였던 경우, 각각 EnvAdd, EnvSub, EnvMult, EnvDiv커멘드의 별표기로 간주해지기 위해, 다른 경우와 다른 동작이 된다.
Var(이)나Expression하지만 수치로서 올바르지 않았던 경우, 「0」이다고 보인다.(통상은, 연산 결과가 하늘의 문자열이 된다)
「+=」 「-=」에서는, 일자 시각의 연산이 가능하게 된다.
「/=」에서는,Var(와)과Expression하지만 모두 정수치의 경우, 결과의 소수점 이하를 잘라 버릴 수 있어 정수치가 되어 버린다.(통상의 「/」연산자는, 소수점 이하를 잘라 버리지 않는다)


Related

식의 설명, IF (식), SetEnv, EnvSet, EnvAdd, EnvSub, EnvMult, EnvDiv, If, 배열


Example(s)

Var := 3
Var := "literal string"
Var := Price * (1 - Discount/100)

Finished := not Done or A_Index > 100
if not Finished
{
	FileAppend, %NewText%`n, %TargetFile%
	return
}
else
	ExitApp
반응형
Comments