Às deidh bliadhna de leasachadh foillsichte leigeil ma sgaoil Ruby 2.7.0, cànan prògramaidh fiùghantach stèidhichte air cuspair a tha air leth èifeachdach ann an leasachadh phrògraman agus a’ toirt a-steach na feartan as fheàrr de Perl, Java, Python, Smalltalk, Eiffel, Ada agus Lisp. Tha còd a’ phròiseict air a chuairteachadh fo cheadan BSD (“2-clàs BSDL”) agus “Ruby”, a tha a’ toirt iomradh air an dreach as ùire den chead GPL agus a tha gu tur co-chòrdail ri GPLv3. Is e Ruby 2.7 an seachdamh prìomh fhoillseachadh a thèid a thoirt a-mach mar phàirt de phròiseas leasachaidh dealbhaichte a tha a’ toirt a-steach bliadhna a chuir an dàrna taobh airson leasachaidhean feart agus sgaoileadh paiste 2-3 mìosan.
deuchainneach taic co-fhreagairt pàtran (Co-fhreagairt pàtran) ath-aithris thairis air an nì a chaidh a thoirt seachad agus luach a shònrachadh ma tha maids pàtrain ann.
cùis [0, [1, 2, 3]] ann an [a, [b, *c]] pa #=> 0
pb #=> 1
pc #=> [2, 3] crioch
cùis {a: 0, b: 1}
ann an{a:0,x:1}
: do-ruigsinn
ann an {a: 0, b: var}
p var #=> 1
deireadh
Tha comas aig an t-slige de àireamhachadh eadar-ghnìomhach irb (REPL, Read-Eval-Print-Loop) deasachadh ioma-loidhne a chuir an gnìomh a’ cleachdadh leabharlann a tha co-chosmhail ri leughadh. loidhnesgrìobhte ann an Ruby. Tha taic airson rdoc air a bhith amalaichte, a leigeas le bhith coimhead air fiosrachadh iomraidh mu chlasaichean, mhodalan agus mhodhan ainmichte ann an irb. Thathas a’ toirt seachad soilleireachadh dathte de loidhnichean le còd air a shealltainn tro Binding#irb agus toraidhean bho bhith a’ sgrùdadh nithean bun-chlas.
Chuir sinn ris neach-cruinneachaidh sgudail teann (Compaction GC) as urrainn milleadh a dhèanamh air sgìre cuimhne, fuasgladh fhaighinn air duilgheadasan coileanadh slaodach agus barrachd caitheamh cuimhne mar thoradh air briseadh cuimhne a bhios a’ tachairt nuair a bhios cuid de thagraidhean Ruby ioma-snàthainn ag obair. Gus stuthan a phacadh air a 'chrann air a mholadh Modh GC.compact gus an àireamh de dhuilleagan cuimhne a thathas a’ cleachdadh a lughdachadh agus an tiùrr airson gnìomhachd a bharrachadh
CoW (leth-bhreac-air-sgrìobhadh).
Air a dhèanamh ag ullachadh gus argamaidean a sgaradh stèidhichte air suidheachadh air an liosta ("def foo (a, b, c)") agus prìomh fhaclan ("def foo (iuchair: val)"). Cha deach tionndadh argamaid fèin-ghluasadach stèidhichte air prìomh fhaclan agus suidheachadh a mholadh agus cha tèid taic a thoirt dha ann am meur Ruby 3.0. Gu sònraichte, chaidh a dhiùltadh an argamaid mu dheireadh a chleachdadh mar pharaimearan prìomh fhaclan, gus argamaidean stèidhichte air prìomh fhacal a thoirt seachad mar am paramadair hash mu dheireadh, agus an argamaid mu dheireadh a roinn ann am paramadairean suidheachaidh agus prìomh fhacal.
Gairm modh prìobhaideach ceadaichte le litireil “fèin”.
deffoo
deireadh
prìobhaideach: foo
fèin.foo
Àireamhair air a chur ris::Dòigh leisg#deònach airson àireamhachd cunbhalach a ghineadh bho àireamhachd leisg (àireamhaiche :: leisg).
a = %w(foo bar baz)
e = a.lazy.map {|x| x.upcase }.mapa {|x| x + "!" }.eag
p e.class #=> Àireamhair
e.mapa {|x| x + "?" } #=> ["FOO!?", "BAR!?", "BAZ!?"]
Tha leasachadh inneal-cruinneachaidh JIT deuchainneach air leantainn, a dh’ fhaodadh coileanadh thagraidhean ann an cànan Ruby a leasachadh gu mòr. Bidh an neach-cruinneachaidh JIT a chaidh a mholadh ann an Ruby an-toiseach a’ sgrìobhadh còd C gu diosc, agus às deidh sin bidh e a’ gairm inneal-cruinneachaidh C taobh a-muigh gus stiùireadh inneal a ghineadh (tha GCC, Clang agus Microsoft VC ++ a’ faighinn taic). Bidh an dreach ùr a’ cur an gnìomh dòigh airson cleachdadh in-loidhne ma tha sin riatanach, cleachdadh roghnach de mhodhan optimization aig àm cur ri chèile, tha luach bunaiteach “--jit-min-calls” air àrdachadh bho 5 gu 10000, agus “--jit-max-cache” bho 1000 gu 100.
Coileanadh nas fheàrr de CGI.escapeHTML, Monitor agus MonitorMixin.
Nì modal#name, true.to_s, false.to_s, agus nil.to_s cinnteach gun tèid sreang a thilleadh nach eil air atharrachadh airson an nì ainmichte.
Chaidh meud nam faidhlichean dà-chànanach a ghineadh leis an dòigh RubyVM::InstructionSequence#to_binary a lùghdachadh;
Tha na modalan stdlib bunaiteach air am foillseachadh air rubygems.org:
slat-tomhais,
cgi,
riochdaire,
tog,
lìon pop,
lìon smtp,
fosgailte 3,
pstore,
singilte. Sùil a chumail air modalan nach deach a ghluasad gu rubygems.org
neach-amhairc,
A’ gabhail fois,
lorgair,
ur,
yaml, nach eil air an cur air falbh ach le ruby-core.
Feumaidh Building Ruby a-nis inneal-cruinneachaidh C a bheir taic do inbhe C99.