Ruby CLI Playground Online
Ruby CLI Online mô phỏng terminal trong browser, cho phép bạn test script, học cú pháp nhanh mà không cần cài đặt.
👨💻 Làm chủ Ruby qua các khóa học thực tế
Loading...
💎 Giới thiệu về Trình chạy Ruby trực tuyến này
CodeUtility Ruby Executor cho phép bạn viết, chạy và kiểm thử mã Ruby ngay lập tức trong trình duyệt - không cần cài đặt hay thiết lập. Mã chạy trong các môi trường cách ly an toàn dựa trên trình thông dịch Ruby thực, hỗ trợ các phiên bản 2.7, 3.1 và 3.2.
Dù bạn đang luyện tập kiến thức Ruby cơ bản, kiểm thử thuật toán hay học lập trình hướng đối tượng, công cụ này cung cấp một bảng điều khiển đơn giản và tương tác để phản hồi ngay lập tức.
Bạn có thể dùng để khám phá cú pháp Ruby, thử nghiệm các gem hoặc gỡ lỗi các đoạn mã ngắn mà không cần cấu hình môi trường cục bộ. Rất phù hợp cho người học, lập trình viên backend và bất kỳ ai đang thử nghiệm logic dựa trên Ruby.
Mọi lần thực thi đều diễn ra trong môi trường sandbox nhằm đảm bảo an toàn và độ tin cậy, đồng thời vẫn giữ nguyên hành vi Ruby thực tế.
💡 Cách sử dụng công cụ này
- 1. Chọn một phiên bản Ruby từ danh sách thả xuống phía trên trình soạn thảo (2.7, 3.1, hoặc 3.2).
- 2. Viết hoặc dán mã Ruby của bạn vào khu vực soạn thảo.
- 3. Nhấn Chạy để thực thi mã Ruby và xem kết quả ở bảng điều khiển bên dưới.
- 4. Trong lúc chạy, nút Dừng sẽ xuất hiện - nhấn để dừng sớm tiến trình.
- 5. Dùng Sửa mã để tự động chỉnh các lỗi cú pháp hoặc thụt lề.
- 6. Sau khi sửa, sẽ có nút Bản sửa - nhấn để xem lại các sửa đổi gần đây.
- 7. Bạn cũng có thể Tải lên mã từ tệp hoặc Tải xuống mã hiện có từ trình soạn thảo.
- 8. Mỗi lần chạy bị giới hạn trong 20 giây để đảm bảo an toàn và công bằng.
🧠 Mẹo: Môi trường Ruby có sẵn các thư viện chuẩn phổ biến - rất phù hợp để thử nghiệm collections, classes và methods ngay trong trình duyệt.
💡 Hướng dẫn Cơ bản Ruby cho Người mới bắt đầu
1. Khai báo Biến và Hằng số
Ruby là ngôn ngữ kiểu động. Hằng số bắt đầu bằng chữ hoa và không nên thay đổi.
x = 10
pi = 3.14
name = "Alice"
is_active = true
MAX_USERS = 100
APP_NAME = "CodeUtility"
2. Câu điều kiện (if / case)
Dùng if, elsif, else, hoặc case để điều khiển luồng.
x = 2
if x == 1
puts "Một"
elsif x == 2
puts "Hai"
else
puts "Khác"
end
case x
when 1
puts "Một"
when 2
puts "Hai"
else
puts "Khác"
end
3. Vòng lặp
Dùng while, until, hoặc các trình lặp như each.
i = 0
while i < 3
puts i
i += 1
end
[1, 2, 3].each do |n|
puts n
end
4. Mảng
Mảng lưu danh sách phần tử có thứ tự. Truy cập bằng chỉ số.
fruits = ["apple", "banana", "cherry"]
puts fruits[0]
puts fruits.length
5. Thao tác Mảng
Dùng push, pop, slice, và reverse để làm việc với mảng.
fruits.push("kiwi")
fruits.pop
puts fruits[1..2]
puts fruits.reverse
# Comprehension mảng
squares = (1..5).map { |x| x * x }
puts squares
6. Nhập/Xuất Console
Dùng gets.chomp để đọc input và puts/print để xuất ra.
print "Nhập tên của bạn: "
name = gets.chomp
puts "Xin chào, #{name}"
7. Hàm
Định nghĩa hàm bằng def. Bạn có thể truyền tham số và trả về giá trị.
def greet(name)
"Xin chào, #{name}"
end
puts greet("Alice")
8. Hash
Hash là cặp khóa-giá trị, giống từ điển hoặc map.
person = { "name" => "Bob", "age" => 25 }
puts person["name"]
# Khóa dạng symbol
person = { name: "Alice", age: 30 }
puts person[:name]
9. Xử lý ngoại lệ
Dùng begin-rescue-end để bắt ngoại lệ và xử lý lỗi một cách gọn gàng.
begin
raise "Có lỗi xảy ra"
rescue => e
puts e.message
end
10. Tệp I/O
Đọc và ghi tệp bằng các phương thức của File hoặc các lớp IO.
File.write("file.txt", "Xin chào tệp")
content = File.read("file.txt")
puts content
11. Xử lý Chuỗi
Chuỗi Ruby hỗ trợ nhiều phương thức: length, gsub, split, v.v.
text = " Hello World "
puts text.strip
puts text.upcase
puts text.gsub("Hello", "Hi")
puts text.split
12. Lớp & Đối tượng
Ruby hoàn toàn hướng đối tượng. Dùng initialize để định nghĩa constructor.
class Person
def initialize(name)
@name = name
end
def greet
"Xin chào, tôi là #{@name}"
end
end
p = Person.new("Alice")
puts p.greet
13. Tham chiếu (Thay đổi đối tượng)
Tất cả biến giữ tham chiếu tới đối tượng. Sửa đổi một đối tượng bên trong hàm sẽ ảnh hưởng đến bản gốc.
def modify(arr)
arr << "đã thay đổi"
end
data = ["ban đầu"]
modify(data)
puts data.inspect # ["ban đầu", "đã thay đổi"]