Come usare il compilatore Ruby online
- Scrivi o incolla codice Ruby nell'editor. Ripristina esempio riporta il programma iniziale.
- Premi Esegui oppure usa Ctrl + Invio (⌘ + Invio su Mac).
- L'output di
puts,printepcompare nel pannello Output. Le eccezioni e i messaggi scritti su$stderrsono evidenziati come errori. - Scegli un limite di tempo di 5, 15 o 60 secondi. Un'esecuzione più lunga viene interrotta automaticamente, e Interrompi la ferma subito.
La prima esecuzione scarica il runtime di Ruby e la sua libreria standard, circa 36 MB, quindi con una connessione lenta può volerci un po'. Il browser lo mette in cache e le visite successive partono molto più in fretta. Usa Copia o main.rb per salvare il tuo programma.
Ruby gira in un Web Worker nel tuo browser. Il tuo codice non viene mai caricato e non viene memorizzato sui nostri server. L'editor ricorda il tuo ultimo programma nel local storage del browser, e in nessun altro posto.
Cosa è supportato
Il compilatore usa Ruby 3.3 tramite la build ufficiale ruby.wasm, l'interprete CRuby (MRI) compilato in WebAssembly.
- Il linguaggio Ruby 3.3 completo: classi, moduli, mixin, blocchi, proc e lambda, pattern matching con
case/in, metodi endless (def name = ...), argomenti con nome (keyword arguments) e refinement. - Classi di base come
String,Array,Hash,Range,Enumerable,Enumerator,StructeComparable. - La libreria standard:
require "json","set","date","time","securerandom","digest"e altre librerie incluse si caricano come al solito.
Limitazioni:
- Nessuna installazione di gem. Sono disponibili solo le librerie fornite con Ruby, e
gem installe Bundler non funzionano. - Nessun accesso alla rete e nessuno standard input. Scrivi i dati di prova direttamente nello script invece di leggerli con
gets. - L'interprete viene riutilizzato tra le esecuzioni. Classi e costanti definite prima esistono ancora all'esecuzione successiva. Premi Interrompi per ripartire con un interprete pulito.
Guida rapida a 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
| Compito | Sintassi |
|---|---|
| Stampare andando a capo | puts "Hello" |
| Ispezionare un valore | p [1, :a, nil] |
| Interpolazione di stringhe | "Total: #{sum}" |
| Iterare con un blocco | items.each { |x| puts x } |
| Hash con chiavi symbol | { name: "Ada", age: 36 } |
| Navigazione sicura | user&.email |
Consigli
- Usa
pal posto diputsmentre fai il debug. Mostra la forma ispezionata, così puoi distinguerenil,""e"nil". - Concatena metodi di
Enumerablecomemap,select,group_by,tallyeeach_sliceper trasformare i dati senza cicli manuali. - Se vedi
warning: already initialized constant, l'interprete ricorda ancora un'esecuzione precedente. Premi Interrompi, poi Esegui di nuovo. - Controlla il JSON generato con il formattatore e validatore JSON e prova le espressioni regolari con il tester Regex. La sua sintassi JavaScript copre la maggior parte dei pattern Ruby di uso quotidiano.
Domande frequenti
È vero Ruby?
Sì. ruby.wasm è il port WebAssembly ufficiale di CRuby, mantenuto come parte del progetto Ruby. Il linguaggio e le classi di base si comportano come sul tuo computer.
Perché il primo caricamento è lento?
L'interprete e la sua libreria standard pesano circa 36 MB. Il download avviene una volta sola e poi viene servito dalla cache del browser.
Posso usare gem come Rails o Nokogiri?
No. È inclusa solo la libreria standard, e le gem non si possono installare nel browser. Questo strumento è ideale per imparare Ruby, esercitarsi con gli algoritmi e provare snippet.
Quali altri linguaggi posso eseguire?
Prova il compilatore Python online, oppure i compilatori Lua, PHP, JavaScript, TypeScript e SQL, che girano tutti nel browser.
Aggiornato