온라인 Ruby 인터프리터 - Ruby 코드 즉시 실행 및 테스트

무료 온라인 Ruby 인터프리터로 Ruby 코드를 즉시 작성, 실행 및 테스트하세요. 다운로드나 설치가 필요 없습니다 — 브라우저만 열고 바로 Ruby 코딩을 시작하세요.

💡 초보자를 위한 루비 기초 가이드

1. 변수와 상수 선언

루비는 동적 타입 언어입니다. 상수는 대문자로 시작하며 변경되지 않아야 합니다.

x = 10
pi = 3.14
name = "Alice"
is_active = true

MAX_USERS = 100
APP_NAME = "CodeUtility"

2. 조건문 (if / case)

제어 흐름을 위해 if, elsif, else, 또는 case를 사용하세요.

x = 2
if x == 1
  puts "One"
elsif x == 2
  puts "Two"
else
  puts "Other"
end

case x
when 1
  puts "One"
when 2
  puts "Two"
else
  puts "Other"
end

3. 반복문

while, until, 또는 each 같은 반복자를 사용하세요.

i = 0
while i < 3
  puts i
  i += 1
end

[1, 2, 3].each do |n|
  puts n
end

4. 배열

배열은 요소의 순서 있는 목록을 저장합니다. 인덱스를 사용하여 접근합니다.

fruits = ["apple", "banana", "cherry"]
puts fruits[0]
puts fruits.length

5. 배열 조작

배열 작업을 위해 push, pop, slice, reverse를 사용하세요.

fruits.push("kiwi")
fruits.pop
puts fruits[1..2]
puts fruits.reverse

# 배열 이해
squares = (1..5).map { |x| x * x }
puts squares

6. 콘솔 입력/출력

gets.chomp을 사용하여 입력을 읽고 puts/print로 출력을 합니다.

print "Enter your name: "
name = gets.chomp
puts "Hello, #{name}"

7. 함수

def를 사용하여 함수를 정의합니다. 인수를 전달하고 값을 반환할 수 있습니다.

def greet(name)
  "Hello, #{name}"
end

puts greet("Alice")

8. 해시

해시는 키-값 쌍으로, 사전이나 맵과 유사합니다.

person = { "name" => "Bob", "age" => 25 }
puts person["name"]

# 심볼 키
person = { name: "Alice", age: 30 }
puts person[:name]

9. 예외 처리

begin-rescue-end를 사용하여 예외를 잡고 오류를 우아하게 처리하세요.

begin
  raise "Something went wrong"
rescue => e
  puts e.message
end

10. 파일 입출력

File 메서드나 IO 클래스를 사용하여 파일을 읽고 씁니다.

File.write("file.txt", "Hello File")
content = File.read("file.txt")
puts content

11. 문자열 조작

루비 문자열은 length, gsub, split 등의 많은 메서드를 지원합니다.

text = " Hello World "
puts text.strip
puts text.upcase
puts text.gsub("Hello", "Hi")
puts text.split

12. 클래스 및 객체

루비는 완전한 객체 지향 언어입니다. initialize를 사용하여 생성자를 정의합니다.

class Person
  def initialize(name)
    @name = name
  end

  def greet
    "Hi, I'm #{@name}"
  end
end

p = Person.new("Alice")
puts p.greet

13. 참조 (객체 변형)

모든 변수는 객체에 대한 참조를 보유합니다. 함수 내에서 객체를 수정하면 원본에 영향을 미칩니다.

def modify(arr)
  arr << "changed"
end

data = ["original"]
modify(data)
puts data.inspect  # ["original", "changed"]