Cómo usar el compilador de Ruby online
- Escribe o pega código Ruby en el editor. Restablecer ejemplo recupera el programa inicial.
- Pulsa Ejecutar o usa Ctrl + Enter (⌘ + Enter en Mac).
- La salida de
puts,printypaparece en el panel Salida. Las excepciones y los mensajes escritos en$stderrse resaltan como errores. - En Límite de tiempo, elige 5, 15 o 60 segundos. Una ejecución que tarde más se detiene automáticamente, y Detener la termina al instante.
La primera ejecución descarga el entorno de ejecución de Ruby y su biblioteca estándar, unos 36 MB, así que puede tardar un poco con una conexión lenta. Tu navegador lo guarda en caché y las visitas siguientes empiezan mucho más rápido. Usa Copiar o main.rb para guardar tu programa.
Ruby se ejecuta en un Web Worker en tu propio navegador. Tu código nunca se sube ni se almacena en nuestros servidores. El editor recuerda tu último programa en el almacenamiento local de tu navegador y en ningún otro sitio.
Qué se admite
El compilador usa Ruby 3.3 a través de la compilación oficial ruby.wasm, el intérprete CRuby (MRI) compilado a WebAssembly.
- El lenguaje Ruby 3.3 completo: clases, módulos, mixins, bloques, procs y lambdas, coincidencia de patrones con
case/in, métodos de una línea (def name = ...), argumentos con nombre y refinements. - Clases básicas como
String,Array,Hash,Range,Enumerable,Enumerator,StructyComparable. - La biblioteca estándar:
require "json","set","date","time","securerandom","digest"y otras bibliotecas incluidas se cargan con normalidad.
Limitaciones:
- No se pueden instalar gems. Solo están disponibles las bibliotecas que vienen con Ruby, y
gem instally Bundler no funcionan. - Sin acceso a la red ni entrada estándar. Escribe los datos de prueba directamente en tu script en lugar de leerlos con
gets. - El intérprete se reutiliza entre ejecuciones. Las clases y constantes que definiste antes siguen existiendo en la ejecución siguiente. Pulsa Detener para empezar de nuevo con un intérprete limpio.
Referencia rápida de 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
| Tarea | Sintaxis |
|---|---|
| Imprimir con salto de línea | puts "Hello" |
| Inspeccionar un valor | p [1, :a, nil] |
| Interpolación de cadenas | "Total: #{sum}" |
| Iterar con un bloque | items.each { |x| puts x } |
| Hash con claves de símbolo | { name: "Ada", age: 36 } |
| Navegación segura | user&.email |
Consejos
- Usa
pen lugar deputsmientras depuras. Muestra la forma inspeccionada, así que puedes distinguirnil,""y"nil". - Encadena métodos de
Enumerablecomomap,select,group_by,tallyyeach_slicepara transformar datos sin bucles manuales. - Si ves
warning: already initialized constant, el intérprete aún recuerda una ejecución anterior. Pulsa Detener y vuelve a ejecutar. - Comprueba el JSON generado con el formateador y validador de JSON y prueba las expresiones regulares con el probador de Regex. Su sintaxis de JavaScript cubre la mayoría de los patrones cotidianos de Ruby.
Preguntas frecuentes
¿Es Ruby de verdad?
Sí. ruby.wasm es la adaptación oficial de CRuby a WebAssembly, mantenido como parte del proyecto Ruby. El lenguaje y las clases básicas se comportan igual que en tu ordenador.
¿Por qué la primera carga es lenta?
El intérprete y su biblioteca estándar pesan unos 36 MB. La descarga ocurre una sola vez y después se sirve desde la caché de tu navegador.
¿Puedo usar gems como Rails o Nokogiri?
No. Solo se incluye la biblioteca estándar, y las gems no se pueden instalar en el navegador. Esta herramienta es ideal para aprender Ruby, practicar algoritmos y probar fragmentos de código.
¿Qué otros lenguajes puedo ejecutar?
Prueba el compilador de Python online, o los compiladores de Lua, PHP, JavaScript, TypeScript y SQL, que también se ejecutan en tu navegador.
Actualizado