Ruby Executor
Run and test Ruby code directly in the browser.
💡 Ruby Basics Guide
1. Declaring Variables and Constants
Ruby is dynamically typed. Constants start with uppercase letters and are not meant to change.
x = 10
pi = 3.14
name = "Alice"
is_active = true
MAX_USERS = 100
APP_NAME = "CodeUtility"
2. Conditionals (if / case)
Use if
, elsif
, else
, or case
for control flow.
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. Loops
Use while
, until
, or iterators like each
.
i = 0
while i < 3
puts i
i += 1
end
[1, 2, 3].each do |n|
puts n
end
4. Arrays
Arrays store ordered lists of elements. Access using indexes.
fruits = ["apple", "banana", "cherry"]
puts fruits[0]
puts fruits.length
5. Array Manipulation
Use push
, pop
, slice
, and reverse
for working with arrays.
fruits.push("kiwi")
fruits.pop
puts fruits[1..2]
puts fruits.reverse
# Array comprehension
squares = (1..5).map { |x| x * x }
puts squares
6. Console Input/Output
Use gets.chomp
to read input and puts
/print
for output.
print "Enter your name: "
name = gets.chomp
puts "Hello, #{name}"
Ruby Basics Guide
7. Functions
Define functions using def
. You can pass arguments and return values.
def greet(name)
"Hello, #{name}"
end
puts greet("Alice")
8. Hashes
Hashes are key-value pairs, like dictionaries or maps.
person = { "name" => "Bob", "age" => 25 }
puts person["name"]
# Symbol keys
person = { name: "Alice", age: 30 }
puts person[:name]
9. Exception Handling
Use begin-rescue-end
to catch exceptions and handle errors gracefully.
begin
raise "Something went wrong"
rescue => e
puts e.message
end
10. File I/O
Read and write files using File
methods or IO
classes.
File.write("file.txt", "Hello File")
content = File.read("file.txt")
puts content
11. String Manipulation
Ruby strings support many methods: length
, gsub
, split
, etc.
text = " Hello World "
puts text.strip
puts text.upcase
puts text.gsub("Hello", "Hi")
puts text.split
12. Classes & Objects
Ruby is fully object-oriented. Use initialize
to define constructors.
class Person
def initialize(name)
@name = name
end
def greet
"Hi, I'm #{@name}"
end
end
p = Person.new("Alice")
puts p.greet
13. References (Object Mutation)
All variables hold references to objects. Modifying an object inside a function affects the original.
def modify(arr)
arr << "changed"
end
data = ["original"]
modify(data)
puts data.inspect # ["original", "changed"]