Ruby

변수

본 토픽은 현재 준비중입니다.공동공부에 참여하시면 완성 되었을 때 알려드립니다.

영어로는 Variable로 (문자나 숫자 같은) 값을 담는 컨테이너다. 여기에 담겨진 값은 다른 값으로 바꿀 수 있다. 변수는 마치 (사람이 쓰는 언어인) 자연어에서 대명사와 비슷한 역할을 한다.

변수의 선언

Ruby에서 변수는 알파벳 소문자와 _를 사용한다. 다음 예제는 변수에 값을 대입한 예제다.

a=1
puts a+1 #2

a=2
puts a+1 #3

#은 주석(comment)으로 코드에 부가적인 설명을 쓰거나 사용하지 않는 코드를 비활성화시키기 위해서 사용한다. #뒤에 따라오는 내용은 해석되지 않는다.

세미콜론(;)은 하나의 구문이 끝났음을 명시적으로 나타내는 기호다. 다음처럼 한줄에 여러구문을 사용하고 싶을 때 세미콜론이 유용하다.

a = 1; puts(a+1);

세미콜론은 생략할 수 있는데, 이 경우 줄바꿈을 명령의 끝으로 간주하게 된다.

위의 실습 결과는 각각 2와 3이 출력될 것이다. 변수 a에 담겨 있는 값이 1일 때는 a+1의 결과가 2가 된다. 두번째 결과가 3이 된 것은 a의 값이 2로 바뀌었고, 2+1의 결과인 3이 출력된 것이다.

다음 예제는 변수의 값이 꼭  숫자만 올 수 있는 것은 아니라는 것을 보여주기 위해서 만든 예제다.

first = "coding"
puts first+" everybody"

변수 a에 coding 변수 b에 everybody를 활당하는 방법은 아래와 같다.

a, b = 'coding', 'everybody'
puts a
puts b

 변수가 없다면

변수는 코드의 재활용성을 높여준다. 예를들어서 100에 10을 더하고, 10을 나눈 후에 다시 10을 빼고 거기에 10을 곱해야 한다고 치자. 그리고 각 단계마다 그 결과를 출력해야 한다면 코드는 아래와 같을 것이다.

puts(100+10)
puts((100+10)/10)
puts(((100+10)/10)-10)
puts((((100+10)/10)-10)*10)

그런데 계산해야 할 값을 100이 아니라 1000으로 바꿔야 한다면 위의 코드를 모두 수정해야 할 것이다. 변수를 적용해보자.

a = 100
a = a + 10
puts(a)
a = a / 10
puts(a)
a = a - 10
puts(a)
a = a * 10      
puts(a)

위의 코드에서 첫번째 줄의 100을 다른 숫자로 바꾸면 나머지 로직에 대입되는 변수의 값이 모두 바뀐다. 수정해야 할 코드가 적다는 것은 그만큼 해야 할 일이 줄어든다는 의미고, 그 과정에서 버그가 발생할 가능성을 낮출 수 있다. 변수의 효용은 뒤에서 배우게 될 반복문, 조건문, 메소드와 결합되면 더욱 더 중요해진다.

참고

  • 봤어요 0명

댓글

댓글 본문
  1. 해삼
    아아! 그냥 따옴표타 쌍따옴표로 숫자를 감싸면되는군요!
  2. 해삼
    숫자를 문자타입으로 변수에 담고싶은데 어찌해야할까요