From Test-Scratch-Wiki
(변수::variables)
변수(變數)는 스크래치 공간에서 저장되는 변할수 있는 값이다. 리스트와 달리, 한번에 한가지의 값 밖에 가질 수 없다. 스크립트 영역에서 주황색 작은 원형의 반환 블록모양을 띤다. 다른 많은 프로그래밍 언어와 달리, 변수는 프로젝트가 돌아가기 전에 생성되어야 한다. 블록 팔레트에 "변수 만들기" 버튼으로 새로운 변수를 생성 할 수 있다.
변수 블록
변수와 관련된 블록은 5가지가 있다.
(변수) // 변수의 값을 반환한다.
[변수 v] 을\(를\) [] 로 정하기 // 선택한 변수의 값을 특정한 값으로 바꿀 수 있다.
[변수 v] 을\(를\) (0) 만큼 바꾸기 // 선택한 변수의 값을 특정한 값과 합칠 수 있다.
[변수 v] 변수 보이기 // 무대에서 선택한 변수를 보이게 한다.
[변수 v] 변수 숨기기 // '변수 숨기기' 블록의 반대이다.
종류
스크래치 1.4에는 지역 변수와 전역 변수가 있다. 스크래치 2.0와 스크래치 3.0 에서는 클라우드 변수가 생겨 세 가지 종류가 있다.
전역 변수
전역 변수는 스프라이트나 배경 에서 사용할 수 있고, 무대를 포함하는 모든 스프라이트에서 값을 반환하거나 변경할수 있는 변수이다. "변수 만들기"를 통해 변수를 생성할 때 기본값으로 설정되어 있으며, 생성시 "모든 스프라이트 에서 사용" 체크란을 통해 설정할 수 있다. 모든 변수들은 램에 저장된다.
지역 변수
지역 변수는 하나의 스프라이트에서만 사용할 수 있고, 변숫값을 스프라이트 내에서만 값을 반환하거나 변경 할 수 있다. "변수 만들기"를 통해 변수를 생성할 때 "이 스프라이트에서만 사용" 체크란을 통해 설정 할 수 있으며, 무대에서는 지역 변수를 생성 할 수 없다. 하지만 다른 스프라이트에서 감지블록인 () 의 () 블록을 사용해 값을 알 수 있다. 지역 변수는 스프라이트를 한 프로젝트 내에 복사하거나 복사 후 변경할때 매우 유용하다. 전역변수를 사용하면, 스프라이트를 한 프로젝트에 복사할때, 스프라이트의 변수가 다른 스프라이트의 변수와 같아지게 되어 영향을 미치는 문제가 발생할 수 있다. 또한 지역 변수는 복제본이 생성될 때 스프라이트가 가지고 있는 속성을 상속받는다. 이는 지역변수를 통해 복제본마다 개별적인 변수를 갖게 된다는 것을 의미한다.
클라우드 변수
- 이 부분의 본문은 클라우드 변수입니다.
클라우드 변수는 클라우드 서버에 저장되는 변수이다. 이 변수가 변경될 때, 프로젝트가 열려있는 모든 곳에 이 변수가 실시간으로 변경되며, 프로젝트가 다시 열릴 때 저장이 된다. 클라우드 변수는 다른 변수와 구분하기 위해 변수 이름 앞에 "☁"라는 글자가 붙는다. 클라우드 변수에는 숫자만 저장할 수 있다. 또한 현재는 클라우드 변수 최대 256글자까지만 저장할 수 있다는 제한이 있다.
용도
변수는 프로그램에서 값을 저장할 수 있기 때문에 다양한 곳에 사용된다.
- 대답을 변수에 저장하고 다른 질문을 할 때
- 복잡한 계산이 필요할 때
- 저장될 필요가 없는 결과를 표시할 때
- 문자 스프라이트를 따로 만들기 귀찮을 때
- 난수를 사용할 때
- 반복문을 사용할 때