Ruby CLI แพลตฟอร์มออนไลน์

ทดสอบและเรียนรู้ Ruby ง่าย ๆ กับ CLI ออนไลน์ในเบราว์เซอร์ ไม่ต้องติดตั้ง เหมาะสำหรับการดีบักและทดลองสคริปต์รวดเร็ว

🚀 226,578 การดำเนินการทั้งหมด (197 ในเดือนนี้)

Udemy Logo 👨‍💻 เรียนรู้ Ruby แบบลงมือทำจริง

Loading...

💎 เกี่ยวกับ Ruby Online Executor นี้

CodeUtility Ruby Executor ช่วยให้คุณเขียน รัน และทดสอบโค้ด Ruby ได้ทันทีบนเบราว์เซอร์ของคุณ - ไม่ต้องติดตั้งหรือเซ็ตอัปใดๆ ทำงานในสภาพแวดล้อมที่ปลอดภัยและแยกจากกัน โดยใช้ตัวแปล Ruby จริง รองรับรุ่น 2.7, 3.1, และ 3.2.

ไม่ว่าคุณจะฝึกพื้นฐาน Ruby ทดสอบอัลกอริทึม หรือเรียนรู้การเขียนโปรแกรมเชิงวัตถุ เครื่องมือนี้มีคอนโซลที่เรียบง่ายและโต้ตอบได้ ให้ผลลัพธ์ตอบกลับทันที

คุณสามารถใช้เพื่อสำรวจไวยากรณ์ของ Ruby ลองเล่นกับ gem หรือดีบักสคริปต์สั้นๆ ได้โดยไม่ต้องตั้งค่าสภาพแวดล้อมบนเครื่อง เหมาะสำหรับผู้เรียน นักพัฒนาแบ็กเอนด์ และทุกคนที่อยากทดลองตรรกะที่ใช้ Ruby

การรันทั้งหมดทำในสภาพแวดล้อมแบบแซนด์บ็อกซ์ เพื่อความปลอดภัยและความเชื่อถือได้ พร้อมคงพฤติกรรมของ Ruby จริงไว้

💡 วิธีใช้งานเครื่องมือนี้

  • 1. เลือกรุ่น Ruby จากดรอปดาวน์เหนือเอดิเตอร์ (2.7, 3.1 หรือ 3.2)
  • 2. เขียนหรือวางโค้ด Ruby ของคุณลงในพื้นที่เอดิเตอร์
  • 3. คลิก Run เพื่อรันโค้ด Ruby และดูผลลัพธ์ในคอนโซลด้านล่าง
  • 4. ระหว่างกำลังรัน จะมีปุ่ม Stop ปรากฏ - คลิกเพื่อหยุดกระบวนการก่อนกำหนด
  • 5. ใช้ Fix Code เพื่อแก้ปัญหาซินแทกซ์หรือการเยื้องบรรทัดโดยอัตโนมัติ
  • 6. หลังจากแก้ไขแล้ว จะมีปุ่ม Fixes ปรากฏ - คลิกเพื่อดูลิสต์การแก้โค้ดล่าสุด
  • 7. คุณยังสามารถ Upload โค้ดจากไฟล์ หรือ Download โค้ดปัจจุบันจากเอดิเตอร์ได้
  • 8. แต่ละการรันจำกัดเวลาไว้ที่ 20 วินาที เพื่อความปลอดภัยและความยุติธรรม

🧠 เคล็ดลับ: สภาพแวดล้อม Ruby มีไลบรารีมาตรฐานที่ใช้กันทั่วไป - เหมาะสำหรับลองเล่นกับคอลเลกชัน คลาส และเมธอดได้เลยบนเบราว์เซอร์ของคุณ

💡 คู่มือพื้นฐาน Ruby สำหรับผู้เริ่มต้น

1. การประกาศตัวแปรและค่าคงที่

Ruby เป็นภาษาที่ไทป์แบบไดนามิก ค่าคงที่ขึ้นต้นด้วยตัวอักษรพิมพ์ใหญ่และไม่ควรถูกเปลี่ยนค่า

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 = ["แอปเปิล", "กล้วย", "เชอร์รี"]
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. Hash

Hash คือชุดข้อมูลแบบคีย์-ค่า คล้ายพจนานุกรมหรือแผนที่

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 I/O)

อ่านและเขียนไฟล์ด้วยเมธอดของ File หรือคลาสใน IO

File.write("file.txt", "สวัสดี ไฟล์")
content = File.read("file.txt")
puts content

11. การจัดการสตริง

สตริงใน Ruby รองรับเมธอดมากมาย เช่น length, gsub, split เป็นต้น

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

12. คลาสและอ็อบเจ็กต์

Ruby เป็นเชิงวัตถุเต็มรูปแบบ ใช้ 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  # ["ต้นฉบับ", "เปลี่ยนแล้ว"]