Ruby en ligne - IDE, éditeur, compilateur, interpréteur

Exécutez du Ruby 3.3 dans votre navigateur avec la version officielle ruby.wasm, bibliothèque standard incluse. L'environnement d'exécution est téléchargé une seule fois puis mis en cache.

Ruby 3.3 (ruby.wasm) · S'exécute dans votre navigateur : votre code n'atteint jamais nos serveurs.
main.rbRuby
Sortie

            
        
Ctrl/⌘ + Enter pour exécuter

Fonctionnalités du compilateur Ruby en ligne (IDE, éditeur & interpréteur)

Écrivez, exécutez et testez du code Ruby en ligne gratuitement. Cette page réunit un IDE Ruby en ligne, un éditeur de code, un compilateur et un interpréteur : saisissez votre code, cliquez sur Exécuter et voyez le résultat immédiatement. Tout s'exécute dans votre navigateur, sans rien à installer ni compte à créer.

  • Exécution instantanée : Ruby 3.3 (ruby.wasm), avec un résultat en moins d'une seconde après le premier chargement.
  • Éditeur de code : coloration syntaxique, numéros de ligne, correspondance et fermeture automatique des parenthèses.
  • Erreurs claires : les messages d'erreur et avertissements s'affichent dans le panneau de sortie, comme sur votre propre ordinateur.
  • Plein écran : Ctrl/⌘ + Shift + F, taille de police réglable, disposition côte à côte ou empilée et panneaux redimensionnables.
  • Enregistrement automatique : votre code est conservé dans votre navigateur ; téléchargez-le sous main.rb ou copiez-le en un clic.
  • Expérimentez sans risque : une limite de temps et un bouton Arrêter interrompent les boucles infinies.
  • Confidentiel : l'environnement d'exécution Ruby tourne sur votre appareil : votre code n'est jamais envoyé.
  • Mode sombre et raccourcis clavier : Ctrl/⌘ + Enter exécute le code.
  • Gratuit : sans inscription, sans limite d'utilisation.

Découvrez d'autres langages de programmation

How to use the online Ruby compiler

  1. Write or paste Ruby code into the editor. Reset example brings back the starter program.
  2. Press Run or use Ctrl + Enter (⌘ + Enter on a Mac).
  3. Output from puts, print and p appears in the Output panel. Exceptions and messages written to $stderr are highlighted as errors.
  4. Choose a time limit of 5, 15 or 60 seconds. A run that takes longer is stopped automatically, and Stop ends it at once.

The first run downloads the Ruby runtime and its standard library, about 36 MB, so it can take a little while on a slow connection. Your browser caches it, and later visits start much faster. Use Copy or main.rb to save your program.

Ruby runs in a Web Worker in your own browser. Your code is never uploaded and is not stored on our servers. The editor remembers your last program in your browser's local storage, and in no other place.

What's supported

The compiler uses Ruby 3.3 through the official ruby.wasm build, the CRuby (MRI) interpreter compiled to WebAssembly.

  • The full Ruby 3.3 language: classes, modules, mixins, blocks, procs and lambdas, pattern matching with case/in, endless methods (def name = ...), keyword arguments and refinements.
  • Core classes such as String, Array, Hash, Range, Enumerable, Enumerator, Struct and Comparable.
  • The standard library: require "json", "set", "date", "time", "securerandom", "digest" and other bundled libraries load as usual.

Limitations:

  • No gem installation. Only libraries that ship with Ruby are available, and gem install and Bundler do not work.
  • No network access and no standard input. Hard-code the test data in your script instead of reading it with gets.
  • The interpreter is reused between runs. Classes and constants you defined earlier still exist on the next run. Press Stop to start again with a clean interpreter.

Ruby quick reference

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
TaskSyntax
Print with a newlineputs "Hello"
Inspect a valuep [1, :a, nil]
String interpolation"Total: #{sum}"
Iterate with a blockitems.each { |x| puts x }
Hash with symbol keys{ name: "Ada", age: 36 }
Safe navigationuser&.email

Tips

  • Use p instead of puts while debugging. It shows the inspected form, so you can tell nil, "" and "nil" apart.
  • Chain Enumerable methods such as map, select, group_by, tally and each_slice to transform data without manual loops.
  • If you see warning: already initialized constant, the interpreter still remembers a previous run. Press Stop, then Run again.
  • Check generated JSON with the JSON formatter, and test regular expressions with the regex tester. Its JavaScript syntax covers most everyday Ruby patterns.
Tip: Keep this tab open while you experiment. Once Ruby has loaded, each further run starts almost instantly.

Frequently asked questions

Is this real Ruby?

Yes. ruby.wasm is the official WebAssembly port of CRuby, maintained as part of the Ruby project. The language and core classes behave the same as on your computer.

Why is the first load slow?

The interpreter and its standard library are about 36 MB. The download happens once and is then served from your browser cache.

Can I use gems like Rails or Nokogiri?

No. Only the standard library is included, and gems cannot be installed in the browser. This tool is best for learning Ruby, practising algorithms and testing snippets.

Which other languages can I run?

Try the online Python compiler, or the Lua, PHP, JavaScript, TypeScript and SQL compilers, all of which also run in your browser.

Mis à jour

Copié dans le presse-papiers