🎯 이번 시간 학습 목표
이번 시간에는 루비(Ruby) 프로그래밍의 가장 기본적인 데이터 타입 중 하나인 문자열(String)을 다루는 첫걸음을 내딛습니다. 이 글을 통해 여러분은 다음을 할 수 있게 됩니다.
- ✅ 문자열의 길이를 확인하는
length메소드 사용하기 - ✅ 문자열이 비어 있는지 검사하는
empty?메소드 활용하기 - ✅
+연산자를 이용하여 간단하게 문자열들을 하나로 합치기
코드를 직접 따라 치면서 루비 문자열의 기초를 탄탄하게 다져봅시다! 🚀
📏 문자열 길이 확인: length
문자열이 몇 개의 글자로 이루어져 있는지 알고 싶을 때 length 메소드를 사용합니다. 마치 자로 길이를 재는 것과 같아요! 😉
message = "Hello, Ruby!"
puts message.length # 출력 결과: 12
empty_string = ""
puts empty_string.length # 출력 결과: 0
space_string = " " # 공백도 글자 수에 포함됩니다!
puts space_string.length # 출력 결과: 1
위 예제처럼 length 메소드는 문자열 변수 뒤에 점(.)을 찍고 호출하면 해당 문자열의 글자 수를 숫자로 반환해 줍니다. 공백(space)도 하나의 글자로 취급된다는 점, 잊지 마세요!
length 메소드는 한글과 같은 다국어 문자(멀티바이트 문자)의 길이도 정확하게 계산해 줍니다.
korean_message = "안녕하세요"
puts korean_message.length # 출력 결과: 5
❓ 문자열이 비었는지 확인: empty?
때로는 문자열 안에 내용이 있는지, 아니면 그냥 빈 문자열인지 확인해야 할 필요가 있습니다. 이럴 때 사용하는 것이 바로 empty? 메소드입니다. 이름 그대로 "비어있니?"라고 물어보는 거죠.
empty? 메소드는 문자열의 길이가 0이면 true(참)를, 그렇지 않으면 false(거짓)를 반환합니다.
greeting = "Hi"
puts greeting.empty? # 출력 결과: false (비어있지 않음)
blank_string = ""
puts blank_string.empty? # 출력 결과: true (비어있음)
# 주의! 공백만 있는 문자열은 비어있는 것이 아닙니다.
space_string = " "
puts space_string.empty? # 출력 결과: false
주의사항⚠️:
empty?는 오직 길이가 0인 문자열에만 true를 반환합니다. 공백, 탭, 줄바꿈 문자 등이 하나라도 포함되어 있다면 false를 반환한다는 점을 꼭 기억하세요! (나중에 배울 strip 메소드와 함께 사용하면 공백만 있는 경우를 처리할 수 있습니다.)
🔗 문자열 합치기: + 연산자
여러 개의 문자열 조각들을 하나로 이어 붙이고 싶을 때는 가장 간단하게 + 연산자를 사용할 수 있습니다. 숫자 덧셈과 비슷하게 생겼지만, 문자열에서는 '결합'의 의미로 사용됩니다.
first_name = "루비"
last_name = "마스터"
# 중간에 공백 문자열 " "을 추가하여 자연스럽게 만듭니다.
full_name = first_name + " " + last_name
puts full_name # 출력 결과: "루비 마스터"
# 변수와 문자열 리터럴(코드에 직접 쓴 값)을 섞어서 사용할 수도 있습니다.
welcome_message = "어서오세요, " + full_name + "님!"
puts welcome_message # 출력 결과: "어서오세요, 루비 마스터님!"
핵심 요약:
+ 연산자를 사용하면 기존 문자열들이 변경되는 것이 아니라, 합쳐진 **새로운 문자열 객체**가 만들어집니다.
🤔 혹시TypeError: no implicit conversion of [다른 타입] into String오류가 발생했나요?
이 오류는 문자열과 다른 데이터 타입(예: 숫자, 배열 등)을+연산자로 직접 합치려고 할 때 발생합니다. 루비는 자동으로 타입을 변환해주지 않기 때문이죠.
해결 방법은 간단합니다! 다른 타입의 데이터를to_s메소드를 사용해 문자열로 명시적으로 변환한 후 합치면 됩니다.level = 5 # puts "현재 레벨: " + level # TypeError 발생! puts "현재 레벨: " + level.to_s # 출력 결과: "현재 레벨: 5" score = 100.5 puts "점수: " + score.to_s # 출력 결과: "점수: 100.5"
✨ 레벨업! 문자열 기본기 장착 완료! ✨
축하합니다! 🎉 이제 여러분은 루비 문자열의 길이를 재고(length), 비어있는지 확인하며(empty?), 여러 문자열을 하나로 합치는(+) 기본적인 기술을 습득했습니다.
아주 간단해 보이지만, 앞으로 더 복잡한 문자열 처리를 위한 중요한 첫걸음입니다. 꾸준히 연습해서 익숙해지세요!
다음 시간에는 문자열의 대소문자를 바꾸고(upcase, downcase), 불필요한 앞뒤 공백을 제거하는(strip) 방법에 대해 알아보겠습니다. 기대해주세요! 😉
'루비' 카테고리의 다른 글
| 루비 문자열 탐색: 포함(include?), 시작/끝(start_with?/end_with?), 특정 위치 접근([]) 완벽 가이드 (0) | 2025.03.31 |
|---|---|
| 루비 문자열 변환: upcase/downcase (대소문자 변경)와 strip (공백 제거) 마스터하기 (1) | 2025.03.31 |
| 🌟 루비(Ruby)로 날개 달기: 활용 분야 & 다음 학습 여정 탐색! (Part 12) (2) | 2025.03.30 |
| ✅ (선택) 루비(Ruby) 코드 품질 UP! 테스트 기초 배우기 (Part 11) (0) | 2025.03.30 |
| 🚀 루비 온 레일즈(Ruby on Rails) 첫걸음: MVC 패턴 이해하고 첫 앱 만들기! (0) | 2025.03.30 |