Kamora selemo sa ntshetsopele e phatlalalitsoeng lokolla Mofuta oa Ruby 2.7.0, puo e matla ea lenaneo e shebaneng le ntho e sebetsang hantle haholo ntlafatsong ea lenaneo mme e kenyelletsa likarolo tse ntle ka ho fetisisa tsa Perl, Java, Python, Smalltalk, Eiffel, Ada le Lisp. Khoutu ea morero e ajoa tlas'a BSD ("2-clause BSDL") le laesense ea "Ruby", e bolelang mofuta oa morao-rao oa laesense ea GPL mme e lumellana ka botlalo le GPLv3. Ruby 2.7 ke tokollo e kholo ea bosupa e lokelang ho etsoa e le karolo ea ts'ebetso e reriloeng ea ntlafatso e kenyelletsang ho behella ka thoko selemo bakeng sa ntlafatso ea likarolo le tokollo ea patch ea khoeli ea 2-3.
tekolo tšehetso ho tšoana le mohlala (Ho bapisa mohlala), e u lumellang ho pheta-pheta ntho e fanoeng 'me u fane ka boleng haeba ho na le papali ea mohlala.
case [0, [1, 2, 3]] ho [a, [b, *c]] pa #=> 0
pb #=> 1
pc #=> [2, 3] pheletso
nyeoe {a: 0, b: 1}
ka{a:0,x:1}
:ha e fumanehe
ho {a: 0, b: var}
p var #=> 1
QETA
Khetla ea lipalo tse sebetsanang le irb (REPL, Read-Eval-Print-Loop) joale e na le ho hlophisoa ha mela e mengata, e kenngoeng tšebetsong ho sebelisoa laebrari e lumellanang le bala. reline, e ngotsoeng ka Ruby. rdoc e kenyelelitsoe, e u lumellang hore u shebe boitsebiso ba litšupiso ho lihlopha tse boletsoeng, li-module le mekhoa ea irb. E fane ka 'mala o totobatsang mela ea khoutu e bonts'itsoeng ka Binding#irb le liphetho tsa tlhahlobo ea lintho tsa maemo a tlase.
E kentse pokello ea lithōle tse kopanetsoeng (Compaction GC) e ka senyang sebaka sa mohopolo, ho rarolla mathata a ts'ebetso le ts'ebeliso ea mohopolo e bakoang ke ho arohana ha mohopolo ho hlahang lits'ebetsong tse ling tsa Ruby tse nang le mefuta e mengata. Ho paka dintho qubung sisintsweng Mokhoa oa GC.compact ho fokotsa palo ea maqephe a memori a sebelisitsoeng le ho ntlafatsa qubu bakeng sa ts'ebetso
CoW (kopi-on-write).
E entsoe ho itokisetsa ho arola likhang ho latela maemo a lenane (“def foo(a,b,c)”) le mantsoe a sehlooho (“def foo(key: val)”). Phetoho ea likhang e ipapisitseng le mantsoe a bohlokoa le boemo e tlositsoe 'me e ke ke ea tšehetsoa lekaleng la Ruby 3.0. Ka ho khetheha, e theohile ho sebelisa khang ea ho qetela e le li-parameter tsa mantsoe a sehlooho, e fetisa likhang tse thehiloeng ho mantsoe a sehlooho e le parameter ea ho qetela ea hash, le ho arola khang ea ho qetela ka mekhahlelo ea boemo le mantsoe a sehlooho.
E lumelletsoe ho letsetsa mokhoa oa lekunutu ka "self"
deffoo
QETA
private :foo
boithati.foo
E kentse Mokalli::Mokhoa oa botsoa#o chesehang oa ho hlahisa palo e tloaelehileng ho tsoa ho palo e botsoa (Mopalohi::E botsoa).
a = %w(foo bar baz)
e = a.lazy.mapa {|x| x.upcase }.mapa {|x| x +"! }.ka tjantjello
p e.sehlopha #=> Mohlophisi
p e.mapa {|x| x + "?" } #=> ["FOO!?", "BAR!?", "BAZ!?"]
Tsoelo-pele ea moqapi oa JIT oa liteko o tsoetse pele, o ka ntlafatsang haholo ts'ebetso ea likopo ka puo ea Ruby. Ruby's JIT compiler o qala ka ho ngola khoutu ea C ho disk, ebe o bitsa moqapi oa C oa kantle ho hlahisa litaelo tsa mochine (e tšehetsa ho letsetsa GCC, Clang, le Microsoft VC ++). Phetolelo e ncha e sebelisa mokhoa oa ho tsamaisoa ha inline ha ho hlokahala, ho netefatsoa ts'ebeliso e ikhethileng ea mekhoa ea ntlafatso nakong ea ho bokelloa, boleng ba kamehla ba "-jit-min-calls" bo eketseha ho tloha ho 5 ho isa ho 10000, le "-jit-max- cache" ho tloha ho 1000 ho isa ho 100.
Ts'ebetso e ntlafetseng ea CGI.escapeHTML, Monitor le MonitorMixin.
Mojule#name, true.to_s, false.to_s, le nil.to_s li netefatsa hore khoele e khutlisoa e sa fetoheng bakeng sa ntho e boletsoeng.
Boholo ba lifaele tsa binary tse hlahisoang ke RubyVM::Taelo ea Taelo#to_binary; mokhoa o fokotsehile.
Lilaebrari li tlositsoe ho tloha sephutheloana sa motheo ho ea ho liphutheloana tsa majoe a kantle
CMath (cmth lehakoe),
Scanf (scanf lehakoe),
Shell (lehakoe la khetla),
Synchronizer (makhonthe lehakoe),
ThreadsWait (letlotlo la thwait),
E2MM (e2mmap lehakoe).
Li-module tsa kamehla tsa stdlib li hatisoa ho rubygems.org:
benchmark,
cgi,
moemeli
getoptlong,
net pop,
net smtp,
bula3,
lebenkeleng,
singleton. hlokomela li-modules ha li fallisetsoe ho rubygems.org
moshebelli,
khefutso,
tracer
ure,
yaml, e fanoang feela ka ruby-core.
Ho haha Ruby hona joale ho hloka moqapi oa C o tšehetsang maemo a C99.