Ruby онлайн - IDE, редактор, компилятор, интерпретатор

RSS

Запускайте Ruby 3.3 в браузере на официальной сборке ruby.wasm со стандартной библиотекой. Среда выполнения загружается один раз и кешируется.

Ruby 3.3 (ruby.wasm) · Работает в браузере, поэтому ваш код никогда не попадает на наши серверы.
main.rbRuby
Результат

            
        
Ctrl/⌘ + Enter для запуска

Возможности онлайн-компилятора Ruby (IDE, редактор и интерпретатор)

Пишите, запускайте и тестируйте код на Ruby онлайн бесплатно. Эта страница — онлайн-IDE, редактор кода, компилятор и интерпретатор Ruby в одном: введите код, нажмите «Запустить» и сразу увидите результат. Все работает в браузере — ничего не нужно устанавливать и не нужно создавать аккаунт.

  • Мгновенный запуск кода: Ruby 3.3 (ruby.wasm), вывод менее чем за секунду после первой загрузки.
  • Редактор кода: подсветка синтаксиса, номера строк, подсветка парных скобок и автозакрытие скобок.
  • Понятные ошибки: сообщения об ошибках и предупреждения появляются в панели вывода так же, как на вашем компьютере.
  • Полноэкранный режим: Ctrl/⌘ + Shift + F, настраиваемый размер шрифта, расположение рядом или друг под другом и изменяемые размеры панелей.
  • Автосохранение: ваш код хранится в браузере; скачайте его как main.rb или скопируйте одним щелчком.
  • Безопасные эксперименты: ограничение времени и кнопка «Остановить» прерывают бесконечные циклы.
  • Конфиденциальность: среда выполнения Ruby работает на вашем устройстве, поэтому код никогда не загружается на сервер.
  • Темная тема и сочетания клавиш: Ctrl/⌘ + Enter запускает код.
  • Бесплатно: без регистрации и ограничений использования.

Изучайте другие языки программирования

Как пользоваться онлайн-компилятором Ruby

  1. Напишите или вставьте код Ruby в редактор. Кнопка Сбросить пример возвращает стартовую программу.
  2. Нажмите Запустить или используйте Ctrl + Enter (⌘ + Enter на Mac).
  3. Вывод puts, print и p появляется на панели Результат. Исключения и сообщения, записанные в $stderr, выделяются как ошибки.
  4. Выберите ограничение времени в 5, 15 или 60 секунд. Запуск, который длится дольше, останавливается автоматически, а кнопка Остановить завершает его немедленно.

При первом запуске скачиваются среда выполнения Ruby и её стандартная библиотека, около 36 МБ, поэтому при медленном соединении это может занять некоторое время. Браузер кеширует их, и при следующих посещениях всё запускается гораздо быстрее. Сохраните программу кнопкой Копировать или скачав main.rb.

Ruby работает в Web Worker прямо в вашем браузере. Ваш код никогда не загружается и не хранится на наших серверах. Редактор запоминает вашу последнюю программу в локальном хранилище браузера и больше нигде.

Что поддерживается

Компилятор использует Ruby 3.3 через официальную сборку ruby.wasm — интерпретатор CRuby (MRI), скомпилированный в WebAssembly.

  • Весь язык Ruby 3.3: классы, модули, примеси (mixins), блоки, proc и lambda, сопоставление с образцом через case/in, однострочные методы без end (endless methods, def name = ...), именованные аргументы и уточнения (refinements).
  • Основные классы, такие как String, Array, Hash, Range, Enumerable, Enumerator, Struct и Comparable.
  • Стандартная библиотека: require "json", "set", "date", "time", "securerandom", "digest" и другие входящие в комплект библиотеки подключаются как обычно.

Ограничения:

  • Нельзя устанавливать гемы. Доступны только библиотеки, которые поставляются вместе с Ruby, а gem install и Bundler не работают.
  • Нет доступа к сети и стандартного ввода. Записывайте тестовые данные прямо в скрипт вместо чтения через gets.
  • Интерпретатор переиспользуется между запусками. Классы и константы, определённые раньше, остаются и при следующем запуске. Нажмите Остановить, чтобы начать заново с чистым интерпретатором.

Краткий справочник по Ruby

require "json"

Book = Struct.new(:title, :year)

books = [
  Book.new("Eloquent Ruby", 2011),
  Book.new("Practical Object-Oriented Design", 2012),
]

recent = books.select { |b| b.year >= 2012 }.map(&:title)
puts "Recent: #{recent.join(', ')}"

result = { status: "ok", count: books.size }
case result
in { status: "ok", count: Integer => n }
  puts "Found #{n} books"
end

puts books.map(&:to_h).to_json
ЗадачаСинтаксис
Вывод с переводом строкиputs "Hello"
Просмотр значенияp [1, :a, nil]
Интерполяция строк"Total: #{sum}"
Перебор с блокомitems.each { |x| puts x }
Хеш с ключами-символами{ name: "Ada", age: 36 }
Безопасная навигацияuser&.email

Советы

  • При отладке используйте p вместо puts. Он показывает значение в формате inspect, так что можно отличить nil, "" и "nil".
  • Составляйте цепочки методов Enumerable, таких как map, select, group_by, tally и each_slice, чтобы преобразовывать данные без ручных циклов.
  • Если вы видите warning: already initialized constant, интерпретатор всё ещё помнит предыдущий запуск. Нажмите «Остановить», а затем снова «Запустить».
  • Проверяйте сгенерированный JSON в форматировании и валидации JSON, а регулярные выражения — в тестере регулярных выражений. Используемый в нём синтаксис JavaScript охватывает большинство повседневных шаблонов Ruby.
Совет: держите эту вкладку открытой, пока экспериментируете. После загрузки Ruby каждый следующий запуск начинается почти мгновенно.

Часто задаваемые вопросы

Это настоящий Ruby?

Да. ruby.wasm — это официальный порт CRuby на WebAssembly, который поддерживается в рамках проекта Ruby. Язык и основные классы ведут себя так же, как на вашем компьютере.

Почему первая загрузка медленная?

Интерпретатор и его стандартная библиотека занимают около 36 МБ. Загрузка происходит один раз, а затем файлы отдаются из кеша браузера.

Можно ли использовать гемы вроде Rails или Nokogiri?

Нет. Включена только стандартная библиотека, а гемы в браузере установить нельзя. Этот инструмент лучше всего подходит для изучения Ruby, отработки алгоритмов и проверки фрагментов кода.

Какие ещё языки можно запускать?

Попробуйте онлайн-компилятор Python или компиляторы Lua, PHP, JavaScript, TypeScript и SQL, которые тоже работают в вашем браузере.

Обновлено

Скопировано в буфер обмена