반응형
보통 변수는 메소드 안에서만 사용되는데
이렇게 변수가 사용되는 범위 자체를 scope라고 한다.
alert과 action은 showAlert안에서만 사용할 수 있는 변수이기때문에
"스콥이 showAlert안으로 한정돼 있다고 표현한다."
{...scope...}
기본적으로 코드 블럭 안에 있는것을 하나의 스콥 이라고 표현한다.
블럭안에 있는 것이 하나의 스콥, 스콥안에서 설정된 변수는 스콥이 그 안에 있다고 표현한다.
내가 만든 예제
// 예제 구두를 닦아서 용돈을 받는 아이
// 평소 용돈은 30000원 이지만 구두를 닦으면 구두당 5000원을 더 준다. 6켤레부터는 2배의 용돈
// 10개를 닦았다면 이번달 용돈은?
var howManyShoes = 10
let payPerShoes = 5000 // 구두 한켤레당 용돈
var allowance = 30000 //정기적인 용돈
if howManyShoes > 5 {
let extraShoes = howManyShoes - 5
allowance += extraShoes * payPerShoes * 2 //초과분의 값 먼저 추가
howManyShoes -= extraShoes
}
allowance += howManyShoes * payPerShoes
print( "이번달 용돈은 \(allowance)원 입니다.")
// 이번달 용돈은 105000원 입니다.
// 와 .. 부럽다
// if문 하나의 코드블럭이 스콥이다. 스콥 안에 있는 상수나 변수를 가지고 나와도 밖에서 쓸수 없다.
//print(extraShoes)
//에러
// howManyShoes에서부터 맨 아래까지 보이지는 않지만 하나의 스콥으로 볼 수 있다.
func money() {
var howManyShoes = 10
let payPerShoes = 5000 // 구두 한켤레당 용돈
var allowance = 30000 //정기적인 용돈
if howManyShoes > 5 {
let extraShoes = howManyShoes - 5
allowance += extraShoes * payPerShoes * 2 //초과분의 값 먼저 추가
howManyShoes -= extraShoes
}
allowance += howManyShoes * payPerShoes
print( "이번달 용돈은 \(allowance)원 입니다.")
} //money
money()
반응형
'모바일앱 > Swift' 카테고리의 다른 글
플로우컨트롤. (조건문) Switch (0) | 2021.09.29 |
---|---|
플로우컨트롤. (반복문) for Loop & Where (0) | 2021.09.29 |
플로우컨트롤. (반복문) while, repeat (0) | 2021.09.29 |
Flow control (0) | 2021.09.29 |
튜플(Tuple) (0) | 2021.09.28 |
코멘트 (0) | 2021.09.28 |
컬렉션 타입(Array, Dictionary, Set) (0) | 2021.09.27 |
Any, AnyObject, nil (0) | 2021.09.27 |