Local variables

Local variables (지역 변수)

프로그램 안에서 값을 담아두는 가장 기본적인 그릇이 지역 변수예요. Crystal의 지역 변수는 소문자로 시작하고, 처음 값을 할당하는 순간 선언돼요. 그리고 그 타입은 초기값만이 아니라 사용되는 상황 전체에서 추론된다는 점이 특징이에요.

출처: Crystal 공식 문서 - Local variables

본문

지역 변수는 소문자로 시작해요. 처음 값을 할당할 때 선언돼요.

name = "Crystal"
age = 1

이 변수들의 타입은 초기화식에서만 결정되는 게 아니라 그 사용처로부터 추론돼요. 일반적으로 지역 변수는 프로그램에서의 위치와 사용 방식에 따라 프로그래머가 갖길 기대하는 타입과 연결된 값 보관자입니다.

예를 들어, 변수에 다른 표현식을 다시 할당하면 그 변수는 그 표현식의 타입을 갖게 돼요.

flower = "Tulip"
# 이 시점에서 'flower'는 String

flower = 1
# 이 시점에서 'flower'는 Int32

같은 변수에 문자열을 넣었다가 정수를 넣으면 변수의 타입도 따라서 바뀌는 거죠. 타입 추론이 사용처를 기준으로 이뤄진다는 뜻이에요.

변수 이름 시작 부분에 밑줄(_)을 쓰는 것도 허용되지만, 이런 이름들은 컴파일러 전용으로 예약되어 있어서 사용을 권장하지 않아요(코드도 더 읽기 어려워지고요).

더 알아보기

  • 변수에 담긴 값을 바꿀 수 없는 상수는 Constants 문서에서 다뤄요.
  • 인스턴스 변수 등 더 다양한 변수 종류는 Classes and methods 문서에서 확인할 수 있어요.