Ruby online - IDE, editor, compilador, interpretador

RSS

Execute Ruby 3.3 no seu navegador com o build oficial ruby.wasm, incluindo a biblioteca padrão. O runtime é baixado uma única vez e fica em cache.

Ruby 3.3 (ruby.wasm) · Roda no seu navegador, então seu código nunca chega aos nossos servidores.
main.rbRuby
Saída

            
        
Ctrl/⌘ + Enter para executar

Recursos do compilador Ruby online (IDE, editor & interpretador)

Escreva, execute e teste código Ruby online de graça. Esta página funciona como IDE, editor de código, compilador e interpretador Ruby online, tudo em um: digite seu código, clique em Executar e veja a saída na hora. Tudo roda no seu navegador, sem nada para instalar e sem conta para criar.

  • Execute código na hora: Ruby 3.3 (ruby.wasm), com saída em menos de um segundo após o primeiro carregamento.
  • Editor de código: realce de sintaxe, números de linha, correspondência de colchetes e fechamento automático de colchetes.
  • Erros claros: mensagens de erro e avisos aparecem no painel de saída, como apareceriam no seu próprio computador.
  • Tela cheia: Ctrl/⌘ + Shift + F, tamanho de fonte ajustável, layout lado a lado ou empilhado e painéis redimensionáveis.
  • Salvamento automático: seu código fica guardado no seu navegador; baixe-o como main.rb ou copie-o com um clique.
  • Seguro para experimentar: um limite de tempo e um botão Parar encerram loops infinitos.
  • Privado: o runtime Ruby roda no seu dispositivo, então seu código nunca é enviado.
  • Modo escuro e atalhos de teclado: Ctrl/⌘ + Enter executa o código.
  • Grátis: sem cadastro, sem limites de uso.

Aprenda outras linguagens de programação

Como usar o compilador Ruby online

  1. Escreva ou cole código Ruby no editor. Restaurar exemplo traz de volta o programa inicial.
  2. Pressione Executar ou use Ctrl + Enter (⌘ + Enter no Mac).
  3. A saída de puts, print e p aparece no painel Saída. Exceções e mensagens escritas em $stderr são destacadas como erros.
  4. Escolha um limite de tempo de 5, 15 ou 60 segundos. Uma execução que demore mais é interrompida automaticamente, e Parar a encerra na hora.

A primeira execução baixa o runtime do Ruby e sua biblioteca padrão, cerca de 36 MB, então pode demorar um pouco em uma conexão lenta. Seu navegador guarda isso em cache, e as visitas seguintes começam bem mais rápido. Use Copiar ou main.rb para salvar seu programa.

O Ruby roda em um Web Worker no seu próprio navegador. Seu código nunca é enviado e não é armazenado em nossos servidores. O editor guarda seu último programa no armazenamento local do navegador e em nenhum outro lugar.

O que é compatível

O compilador usa o Ruby 3.3 por meio da build oficial ruby.wasm, o interpretador CRuby (MRI) compilado para WebAssembly.

  • A linguagem Ruby 3.3 completa: classes, módulos, mixins, blocos, procs e lambdas, pattern matching com case/in, métodos endless (def name = ...), argumentos nomeados e refinements.
  • Classes do núcleo, como String, Array, Hash, Range, Enumerable, Enumerator, Struct e Comparable.
  • A biblioteca padrão: require "json", "set", "date", "time", "securerandom", "digest" e outras bibliotecas incluídas carregam normalmente.

Limitações:

  • Sem instalação de gems. Só estão disponíveis as bibliotecas que acompanham o Ruby, e gem install e o Bundler não funcionam.
  • Sem acesso à rede e sem entrada padrão. Coloque os dados de teste direto no script em vez de lê-los com gets.
  • O interpretador é reaproveitado entre as execuções. Classes e constantes que você definiu antes continuam existindo na próxima execução. Pressione Parar para recomeçar com um interpretador limpo.

Referência 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
TarefaSintaxe
Imprimir com quebra de linhaputs "Hello"
Inspecionar um valorp [1, :a, nil]
Interpolação de string"Total: #{sum}"
Iterar com um blocoitems.each { |x| puts x }
Hash com chaves de símbolo{ name: "Ada", age: 36 }
Navegação segurauser&.email

Dicas

  • Use p em vez de puts ao depurar. Ele mostra a forma inspecionada, então você distingue nil, "" e "nil".
  • Encadeie métodos de Enumerable, como map, select, group_by, tally e each_slice, para transformar dados sem laços manuais.
  • Se aparecer warning: already initialized constant, o interpretador ainda lembra de uma execução anterior. Pressione Parar e depois Executar de novo.
  • Confira o JSON gerado com o Formatador e validador de JSON e teste expressões regulares com o Testador de regex. A sintaxe JavaScript dele cobre a maioria dos padrões comuns do Ruby.
Dica: mantenha esta aba aberta enquanto você experimenta. Depois que o Ruby carrega, cada execução seguinte começa quase na hora.

Perguntas frequentes

É Ruby de verdade?

Sim. O ruby.wasm é a versão oficial do CRuby para WebAssembly, mantida como parte do projeto Ruby. A linguagem e as classes do núcleo se comportam como no seu computador.

Por que o primeiro carregamento é lento?

O interpretador e sua biblioteca padrão têm cerca de 36 MB. O download acontece uma vez e depois é servido do cache do seu navegador.

Posso usar gems como Rails ou Nokogiri?

Não. Só a biblioteca padrão está incluída, e gems não podem ser instaladas no navegador. Esta ferramenta é ideal para aprender Ruby, praticar algoritmos e testar trechos de código.

Que outras linguagens posso executar?

Experimente o Compilador Python online ou os compiladores de Lua, PHP, JavaScript, TypeScript e SQL, que também rodam no seu navegador.

Atualizado

Copiado para a área de transferência