Ruby CLI 플레이그라운드 온라인
브라우저 기반 Ruby CLI로 설치 없이 코드 테스트 및 디버깅, 학습까지 손쉽게 해보세요.
💡 실력을 키우고 싶다면 Ruby를 배워보세요
Loading...
💎 이 루비 온라인 실행기 소개
CodeUtility Ruby Executor는 브라우저에서 바로 루비 코드를 작성, 실행, 테스트할 수 있게 해줍니다 — 설치나 설정이 필요 없습니다. 실제 루비 인터프리터로 구동되는 안전한 격리 환경에서 실행되며, 2.7, 3.1, 3.2 버전을 지원합니다.
루비 기초를 연습하든, 알고리즘을 테스트하든, 객체지향 프로그래밍을 배우든, 이 도구는 즉각적인 피드백을 제공하는 간단하고 상호작용적인 콘솔을 제공합니다.
로컬 환경을 구성하지 않고도 루비 문법을 탐색하고, 젬(gem)을 시도해 보고, 짧은 스니펫을 디버깅하는 데 사용할 수 있습니다. 학습자, 백엔드 개발자, 루비 기반 로직을 실험하는 누구에게나 적합합니다.
모든 실행은 샌드박스 환경에서 처리되어, 실제 루비 동작을 유지하면서 안전성과 신뢰성을 보장합니다.
💡 사용 방법
- 1. 편집기 위의 드롭다운에서 루비 버전을 선택하세요(2.7, 3.1, 3.2).
- 2. 편집기 영역에 루비 코드를 작성하거나 붙여넣으세요.
- 3. 실행을 클릭해 루비 코드를 실행하고 아래 콘솔에서 출력을 확인하세요.
- 4. 실행 중에는 중지 버튼이 나타납니다 — 미리 중단하려면 클릭하세요.
- 5. 코드 수정을 사용해 구문 오류나 들여쓰기 문제를 자동으로 고치세요.
- 6. 수정 후에는 수정 내역 버튼이 나타납니다 — 최근 코드 수정을 확인해 보세요.
- 7. 파일에서 코드를 업로드하거나, 현재 코드를 다운로드할 수도 있습니다.
- 8. 안전성과 형평성을 위해 각 실행은 최대 20초로 제한됩니다.
🧠 팁: 루비 환경에는 일반적인 표준 라이브러리가 포함되어 있어, 브라우저에서 바로 컬렉션, 클래스, 메서드를 실험해보기 좋습니다.
💡 초보자를 위한 루비 기초 가이드
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 "하나"
elsif x == 2
puts "둘"
else
puts "기타"
end
case x
when 1
puts "하나"
when 2
puts "둘"
else
puts "기타"
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 "이름을 입력하세요: "
name = gets.chomp
puts "안녕하세요, #{name}"
7. 함수
def로 함수를 정의합니다. 인자를 전달하고 값을 반환할 수 있습니다.
def greet(name)
"안녕하세요, #{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 "문제가 발생했습니다"
rescue => e
puts e.message
end
10. 파일 입출력
File 메서드나 IO 클래스를 사용해 파일을 읽고 씁니다.
File.write("file.txt", "안녕, 파일")
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
"안녕하세요, 저는 #{@name}입니다"
end
end
p = Person.new("Alice")
puts p.greet
13. 참조(객체 변경)
모든 변수는 객체에 대한 참조를 담습니다. 함수 안에서 객체를 수정하면 원본에 영향을 줍니다.
def modify(arr)
arr << "변경됨"
end
data = ["원본"]
modify(data)
puts data.inspect # ["원본", "변경됨"]