unset — 변수 삭제하기
unset — 변수 삭제하기
변수를 정리하고 싶을 때 쓰는 명령어가 unset이에요. 단순히 변수 하나를 지우는 것부터, 배열 원소 하나만 골라 지우거나 배열 전체를 통째로 지우는 것까지 할 수 있어요. 특별히 없다고 해서 오류가 나는 상황을 피하고 싶다면 -nocomplain 옵션도 있어요.
출처: 문서
본문
문법
unset ?-nocomplain? ?--? ?name name name ...?
이 명령어는 하나 이상의 변수를 제거해요. 각 name은 set 명령어가 받아들이는 방식 중 아무 방식으로나 지정할 수 있는 변수 이름이에요.
name이 배열의 한 원소를 가리키면 그 원소만 제거되고 배열의 나머지는 그대로 남아요.name이 괄호 인덱스 없이 배열 이름만으로 구성되면 배열 전체가 삭제돼요.
unset 명령어는 결과로 빈 문자열을 반환해요.
-nocomplain이 첫 인자로 지정되면 가능한 모든 오류가 억제돼요. 이 옵션은 가능한 변수 이름과 구분하기 위해 축약할 수 없어요. 옵션 --는 옵션의 끝을 나타내며, 옵션들 중 하나와 같은 이름을 가진 변수를 제거하려 할 때 사용해야 해요.
변수 삭제 중 오류가 발생하면, 오류를 일으킨 이름 뒤의 변수들은 삭제되지 않아요. 오류는 지명된 변수가 존재하지 않거나, 이름이 배열 원소를 가리키는데 실제로는 스칼라 변수이거나, 이름이 존재하지 않는 네임스페이스의 변수를 가리킬 때 발생할 수 있어요.
예제
어떤 숫자들을 제곱수에 매핑하는 배열을 만들고, 소수가 아닌 숫자들의 원소를 제거해요:
array set squares {
1 1 6 36
2 4 7 49
3 9 8 64
4 16 9 81
5 25 10 100
}
puts "The squares are:"
parray squares
unset squares(1) squares(4) squares(6)
unset squares(8) squares(9) squares(10)
puts "The prime squares are:"
parray squares
더 알아보기
set,trace,upvar— 변수 관련 명령어- 관련 키워드:
remove,variable