Ruby

Screenshot Software:
Ruby
Mga detalye ng Software:
Bersyon: 2.5.1 Na-update
I-upload ang petsa: 17 Aug 18
Nag-develop: Ruby team
Lisensya: Libre
Katanyagan: 73

Rating: 3.7/5 (Total Votes: 3)

Ruby ay isang multiplatform, malayang ipinamamahagi, nagtatampok ng mayaman at open source software na command-line na idinisenyo mula sa lupa upang magbigay ng isang malakas na programming language para sa mga developer na gustong bumuo ng application sa Ruby .


Mga tampok, maraming mga tampok
Ang mga pangunahing tampok ay may kasamang isang simpleng syntax na inspirasyon ni Ada at Eiffel, operating system independiyenteng threading, mga kakayahang paghawak ng paghawak para sa paghawak ng mga error, maraming mga operator, isang dalisay at kumpletong object oriented na wika, pati na rin ang suporta para sa pagdaragdag ng mga pamamaraan sa isang klase.

Bukod pa rito, ang mga Ruby ay nagtatampok ng isang pamana lamang, mga tunay na pagsasara, mga bloke sa syntax nito, isang tunay na mark-and-sweep na kolektor ng basurahan, suporta para sa pagsusulat ng mga extension ng C, mga integer, suporta para sa pag-load ng mga library ng extension ng magilas, at hindi ito kailangan variable declarations.


Pagsisimula sa Ruby

Ang pag-install ng Ruby programming language sa isang operating system ng GNU / Linux ay napakadaling gawain, dahil ang pakete ay magagamit para sa pag-download sa lahat ng mga pangunahing distribusyon, direkta mula sa kanilang mga pangunahing repository ng software. Gamitin ang built-in na app ng Software Center upang i-install ito.

Bilang isang alternatibo, ang pinakabagong bersyon ay maaaring mai-install gamit ang source package, na ibinahagi nang libre sa Softoware. I-download lamang ito at i-save ito sa iyong direktoryo ng Home, kunin ang archive at mag-navigate sa lokasyon ng mga nakuha na mga file ng archive sa terminal ng emulator app (hal. Cd / home /softoware / ruby-2.2.0).

Patakbuhin ang & lsquo; ./ configure & rsquo; Command upang i-configure ang proyekto (maaari mong gamitin ang & lsquo; ./ configure --help & rsquo; upang tingnan ang mga magagamit na pagpipilian para sa pag-optimize ng Ruby para sa isang tiyak na arkitektura ng hardware). Pagkatapos, patakbuhin ang & lsquo; gumawa & rsquo; utos upang itala ito at ang & lsquo; sudo gumawa i-install & rsquo; command na i-install ito.


Suportado sa GNU / Linux, Windows, Mac OS X, BeOS at OS / 2

Ruby ay isang software na cross-platform na maaaring matagumpay na magamit sa lahat ng distribusyon ng GNU / Linux, gayundin sa anumang sistemang operating UNIX, kabilang ang Mac OS X, BeOS, OS / 2 at Microsoft Windows. Ito ay magkatugma sa parehong 32-bit at 64-bit na mga platform ng computer.

Ano ang bagong sa paglabas na ito:

  • Ang isang Frozen String Literal Pragma ay ipinakilala. Sa Ruby 2.1, & quot; str & quot; .freeze ay na-optimize upang mabawasan ang paglalaan ng bagay. Ang Ruby 2.3 ay nagpapakilala ng bagong magic comment at command line na pagpipilian upang i-freeze ang lahat ng mga literals string sa source file. Bukod pa rito para sa pag-debug, maaari mong makuha kung saan nililikha ang bagay sa & quot; hindi maaaring baguhin ang frozen na String & quot; error sa pamamagitan ng --debug = frozen-string-literal na command line option.
  • Ang isang ligtas na operator sa pag-navigate (tinatawag na malungkot na operator) at., na umiiral sa C #, Groovy, at Swift, ay ipinakilala upang mabawasan ang paghawak ng niloko bilang obj & .foo. Ang Array # dig at Hash # dig ay idinagdag din. Tandaan na kumikilos ito bilang subukan! ng Aktibong Suporta, na espesyal na may hawak na lamang.
  • Ang did_you_mean gem ay binugbog. Ang did_you_mean gem ay nagpapakita ng mga kandidato sa NameError at NoMethodError upang mabawasan ang pag-debug.
  • RubyVM :: InstructionSequence # to_binary at .load_from_binary ay ipinakilala bilang tampok na pang-eksperimentong. Sa mga tampok na ito, maaari naming gumawa ng ISEq (bytecode) na pre-compilation system.
  • Kasama rin dito ang maraming pagpapabuti ng pagganap, halimbawa, pag-isipan muli ang istraktura ng data ng entry ng pamamaraan, pagpapasok ng bagong istraktura ng data ng talahanayan, pag-optimize ng Proc # na tawag, pag-tune ng antas ng machine code para sa paglalaan ng bagay at paraan ng pagtawag na code, mas matalinong halimbawa variable na istraktura ng data, Socket at ako / O pinapayagan na gumamit ng & quot; exception: & quot; mga keyword para sa mataas na pagganap na hindi humahadlang sa I / O at iba pa.

Ano ang bago sa bersyon 2.5.0:

  • Ang isang Frozen String Literal Pragma ay ipinakilala. Sa Ruby 2.1, & quot; str & quot; .freeze ay na-optimize upang mabawasan ang paglalaan ng bagay. Ang Ruby 2.3 ay nagpapakilala ng bagong magic comment at command line na pagpipilian upang i-freeze ang lahat ng mga literals string sa source file. Bukod pa rito para sa pag-debug, maaari mong makuha kung saan nililikha ang bagay sa & quot; hindi maaaring baguhin ang frozen na String & quot; error sa pamamagitan ng --debug = frozen-string-literal na command line option.
  • Ang isang ligtas na operator sa pag-navigate (tinatawag na malungkot operator) &, na umiiral na sa C #, Groovy, at Swift, ay ipinakilala upang mabawasan ang paghawak ng niloko bilang obj & .foo. Ang Array # dig at Hash # dig ay idinagdag din. Tandaan na kumikilos ito bilang subukan! ng Aktibong Suporta, na espesyal na may hawak na lamang.
  • Ang did_you_mean gem ay binugbog. Ang did_you_mean gem ay nagpapakita ng mga kandidato sa NameError at NoMethodError upang mabawasan ang pag-debug.
  • RubyVM :: InstructionSequence # to_binary at .load_from_binary ay ipinakilala bilang tampok na pang-eksperimentong. Sa mga tampok na ito, maaari naming gumawa ng ISEq (bytecode) na pre-compilation system.
  • Kasama rin dito ang maraming pagpapabuti ng pagganap, halimbawa, pag-isipan muli ang istraktura ng data ng entry ng pamamaraan, pagpapasok ng bagong istraktura ng data ng talahanayan, pag-optimize ng Proc # na tawag, pag-tune ng antas ng machine code para sa paglalaan ng bagay at paraan ng pagtawag na code, mas matalinong halimbawa variable na istraktura ng data, Socket at ako / O pinapayagan na gumamit ng & quot; exception: & quot; mga keyword para sa mataas na pagganap na hindi humahadlang sa I / O at iba pa.

Ano ang bago sa bersyon 2.4.2:

  • Ang isang Frozen String Literal Pragma ay ipinakilala. Sa Ruby 2.1, & quot; str & quot; .freeze ay na-optimize upang mabawasan ang paglalaan ng bagay. Ang Ruby 2.3 ay nagpapakilala ng bagong magic comment at command line na pagpipilian upang i-freeze ang lahat ng mga literals string sa source file. Bukod pa rito para sa pag-debug, maaari mong makuha kung saan nililikha ang bagay sa & quot; hindi maaaring baguhin ang frozen na String & quot; error sa pamamagitan ng --debug = frozen-string-literal na command line option.
  • Ang isang ligtas na operator sa pag-navigate (tinatawag na malungkot operator) &, na umiiral na sa C #, Groovy, at Swift, ay ipinakilala upang mabawasan ang paghawak ng niloko bilang obj & .foo. Ang Array # dig at Hash # dig ay idinagdag din. Tandaan na kumikilos ito bilang subukan! ng Aktibong Suporta, na espesyal na may hawak na lamang.
  • Ang did_you_mean gem ay binugbog. Ang did_you_mean gem ay nagpapakita ng mga kandidato sa NameError at NoMethodError upang mabawasan ang pag-debug.
  • RubyVM :: InstructionSequence # to_binary at .load_from_binary ay ipinakilala bilang tampok na pang-eksperimentong. Sa mga tampok na ito, maaari naming gumawa ng ISEq (bytecode) na pre-compilation system.
  • Kasama rin dito ang maraming pagpapabuti ng pagganap, halimbawa, pag-isipan muli ang istraktura ng data ng entry ng pamamaraan, pagpapasok ng bagong istraktura ng data ng talahanayan, pag-optimize ng Proc # na tawag, pag-tune ng antas ng machine code para sa paglalaan ng bagay at paraan ng pagtawag na code, mas matalinong halimbawa variable na istraktura ng data, Socket at ako / O pinapayagan na gumamit ng & quot; exception: & quot; mga keyword para sa mataas na pagganap na hindi humahadlang sa I / O at iba pa.

Ano ang bago sa bersyon 2.4.1:

  • Ang isang Frozen String Literal Pragma ay ipinakilala. Sa Ruby 2.1, & quot; str & quot; .freeze ay na-optimize upang mabawasan ang paglalaan ng bagay. Ang Ruby 2.3 ay nagpapakilala ng bagong magic comment at command line na pagpipilian upang i-freeze ang lahat ng mga literals string sa source file. Bukod pa rito para sa pag-debug, maaari mong makuha kung saan nililikha ang bagay sa & quot; hindi maaaring baguhin ang frozen na String & quot; error sa pamamagitan ng --debug = frozen-string-literal na command line option.
  • Ang isang ligtas na operator sa pag-navigate (tinatawag na malungkot operator) &, na umiiral na sa C #, Groovy, at Swift, ay ipinakilala upang mabawasan ang paghawak ng niloko bilang obj & .foo. Ang Array # dig at Hash # dig ay idinagdag din. Tandaan na kumikilos ito bilang subukan! ng Aktibong Suporta, na espesyal na may hawak na lamang.
  • Ang did_you_mean gem ay binugbog. Ang did_you_mean gem ay nagpapakita ng mga kandidato sa NameError at NoMethodError upang mabawasan ang pag-debug.
  • RubyVM :: InstructionSequence # to_binary at .load_from_binary ay ipinakilala bilang tampok na pang-eksperimentong. Sa mga tampok na ito, maaari naming gumawa ng ISEq (bytecode) na pre-compilation system.
  • Kasama rin dito ang maraming pagpapabuti ng pagganap, halimbawa, pag-isipan muli ang istraktura ng data ng entry ng pamamaraan, pagpapasok ng bagong istraktura ng data ng talahanayan, pag-optimize ng Proc # na tawag, pag-tune ng antas ng machine code para sa paglalaan ng bagay at paraan ng pagtawag na code, mas matalinong halimbawa variable na istraktura ng data, Socket at ako / O pinapayagan na gumamit ng & quot; exception: & quot; mga keyword para sa mataas na pagganap na hindi humahadlang sa I / O at iba pa.

Ano ang bago sa bersyon 2.4.0:

  • Ang isang Frozen String Literal Pragma ay ipinakilala. Sa Ruby 2.1, & quot; str & quot; .freeze ay na-optimize upang mabawasan ang paglalaan ng bagay. Ang Ruby 2.3 ay nagpapakilala ng bagong magic comment at command line na pagpipilian upang i-freeze ang lahat ng mga literals string sa source file. Bukod pa rito para sa pag-debug, maaari mong makuha kung saan nililikha ang bagay sa & quot; hindi maaaring baguhin ang frozen na String & quot; error sa pamamagitan ng --debug = frozen-string-literal na command line option.
  • Ang isang ligtas na operator sa pag-navigate (tinatawag na malungkot operator) &, na umiiral na sa C #, Groovy, at Swift, ay ipinakilala upang mabawasan ang paghawak ng niloko bilang obj & .foo. Ang Array # dig at Hash # dig ay idinagdag din. Tandaan na kumikilos ito bilang subukan! ng Aktibong Suporta, na espesyal na may hawak na lamang.
  • Ang did_you_mean gem ay binugbog. Ang did_you_mean gem ay nagpapakita ng mga kandidato sa NameError at NoMethodError upang mabawasan ang pag-debug.
  • RubyVM :: InstructionSequence # to_binary at .load_from_binary ay ipinakilala bilang tampok na pang-eksperimentong. Sa mga tampok na ito, maaari naming gumawa ng ISEq (bytecode) na pre-compilation system.
  • Kasama rin dito ang maraming pagpapabuti ng pagganap, halimbawa, pag-isipan muli ang istraktura ng data ng entry ng pamamaraan, pagpapasok ng bagong istraktura ng data ng talahanayan, pag-optimize ng Proc # na tawag, pag-tune ng antas ng machine code para sa paglalaan ng bagay at paraan ng pagtawag na code, mas matalinong halimbawa variable na istraktura ng data, Socket at ako / O pinapayagan na gumamit ng & quot; exception: & quot; mga keyword para sa mataas na pagganap na hindi humahadlang sa I / O at iba pa.

Ano ang bago sa bersyon 2.3.3:

  • Ang isang Frozen String Literal Pragma ay ipinakilala. Sa Ruby 2.1, & quot; str & quot; .freeze ay na-optimize upang mabawasan ang paglalaan ng bagay. Ang Ruby 2.3 ay nagpapakilala ng bagong magic comment at command line na pagpipilian upang i-freeze ang lahat ng mga literals string sa source file. Bukod pa rito para sa pag-debug, maaari mong makuha kung saan nililikha ang bagay sa & quot; hindi maaaring baguhin ang frozen na String & quot; error sa pamamagitan ng --debug = frozen-string-literal na command line option.
  • Ang isang ligtas na operator sa pag-navigate (tinatawag na malungkot operator) &, na umiiral na sa C #, Groovy, at Swift, ay ipinakilala upang mabawasan ang paghawak ng niloko bilang obj & .foo. Ang Array # dig at Hash # dig ay idinagdag din. Tandaan na kumikilos ito bilang subukan! ng Aktibong Suporta, na espesyal na may hawak na lamang.
  • Ang did_you_mean gem ay binugbog. Ang did_you_mean gem ay nagpapakita ng mga kandidato sa NameError at NoMethodError upang mabawasan ang pag-debug.
  • RubyVM :: InstructionSequence # to_binary at .load_from_binary ay ipinakilala bilang tampok na pang-eksperimentong. Sa mga tampok na ito, maaari naming gumawa ng ISEq (bytecode) na pre-compilation system.
  • Kasama rin dito ang maraming pagpapabuti ng pagganap, halimbawa, pag-isipan muli ang istraktura ng data ng entry ng pamamaraan, pagpapasok ng bagong istraktura ng data ng talahanayan, pag-optimize ng Proc # na tawag, pag-tune ng antas ng machine code para sa paglalaan ng bagay at paraan ng pagtawag na code, mas matalinong halimbawa variable na istraktura ng data, Socket at ako / O pinapayagan na gumamit ng & quot; exception: & quot; mga keyword para sa mataas na pagganap na hindi humahadlang sa I / O at iba pa.

Ano ang bago sa bersyon 2.3.1:

  • Ang isang Frozen String Literal Pragma ay ipinakilala. Sa Ruby 2.1, & quot; str & quot; .freeze ay na-optimize upang mabawasan ang paglalaan ng bagay. Ang Ruby 2.3 ay nagpapakilala ng bagong magic comment at command line na pagpipilian upang i-freeze ang lahat ng mga literals string sa source file. Bukod pa rito para sa pag-debug, maaari mong makuha kung saan nililikha ang bagay sa & quot; hindi maaaring baguhin ang frozen na String & quot; error sa pamamagitan ng --debug = frozen-string-literal na command line option.
  • Ang isang ligtas na operator sa pag-navigate (tinatawag na malungkot na operator) at., na umiiral sa C #, Groovy, at Swift, ay ipinakilala upang mabawasan ang paghawak ng niloko bilang obj & .foo. Ang Array # dig at Hash # dig ay idinagdag din. Tandaan na kumikilos ito bilang subukan! ng Aktibong Suporta, na espesyal na may hawak na lamang.
  • Ang did_you_mean gem ay binugbog. Ang did_you_mean gem ay nagpapakita ng mga kandidato sa NameError at NoMethodError upang mabawasan ang pag-debug.
  • RubyVM :: InstructionSequence # to_binary at .load_from_binary ay ipinakilala bilang tampok na pang-eksperimentong. Sa mga tampok na ito, maaari naming gumawa ng ISEq (bytecode) na pre-compilation system.
  • Kasama rin dito ang maraming pagpapabuti ng pagganap, halimbawa, pag-isipan muli ang istraktura ng data ng entry ng pamamaraan, pagpapasok ng bagong istraktura ng data ng talahanayan, pag-optimize ng Proc # na tawag, pag-tune ng antas ng machine code para sa paglalaan ng bagay at paraan ng pagtawag na code, mas matalinong halimbawa variable na istraktura ng data, Socket at ako / O pinapayagan na gumamit ng & quot; exception: & quot; mga keyword para sa mataas na pagganap na hindi humahadlang sa I / O at iba pa.

Ano ang bago sa bersyon 2.3.0:

  • Ang isang Frozen String Literal Pragma ay ipinakilala. Sa Ruby 2.1, & quot; str & quot; .freeze ay na-optimize upang mabawasan ang paglalaan ng bagay. Ang Ruby 2.3 ay nagpapakilala ng bagong magic comment at command line na pagpipilian upang i-freeze ang lahat ng mga literals string sa source file. Bukod pa rito para sa pag-debug, maaari mong makuha kung saan nililikha ang bagay sa & quot; hindi maaaring baguhin ang frozen na String & quot; error sa pamamagitan ng --debug = frozen-string-literal na command line option.
  • Ang isang ligtas na operator sa pag-navigate (tinatawag na malungkot operator) &, na umiiral na sa C #, Groovy, at Swift, ay ipinakilala upang mabawasan ang paghawak ng niloko bilang obj & .foo. Ang Array # dig at Hash # dig ay idinagdag din. Tandaan na kumikilos ito bilang subukan! ng Aktibong Suporta, na espesyal na may hawak na lamang.
  • Ang did_you_mean gem ay binugbog. Ang did_you_mean gem ay nagpapakita ng mga kandidato sa NameError at NoMethodError upang mabawasan ang pag-debug.
  • RubyVM :: InstructionSequence # to_binary at .load_from_binary ay ipinakilala bilang tampok na pang-eksperimentong. Sa mga tampok na ito, maaari naming gumawa ng ISEq (bytecode) na pre-compilation system.
  • Kasama rin dito ang maraming pagpapabuti ng pagganap, halimbawa, pag-isipan muli ang istraktura ng data ng entry ng pamamaraan, pagpapasok ng bagong istraktura ng data ng talahanayan, pag-optimize ng Proc # na tawag, pag-tune ng antas ng machine code para sa paglalaan ng bagay at paraan ng pagtawag na code, mas matalinong halimbawa variable na istraktura ng data, Socket at ako / O pinapayagan na gumamit ng & quot; exception: & quot; mga keyword para sa mataas na pagganap na hindi humahadlang sa I / O at iba pa.

Ano ang bagong sa bersyon 2.2.3:

  • Ang release na ito ay kinabibilangan ng security fix para sa isang RubyGems domain kahinaan sa pag-verify ng pangalan. CVE-2015-3900 Humingi ng hijacking na kahinaan sa RubyGems 2.4.6 at mas naunang

Ano ang bago sa bersyon 2.2.2:

  • Ang release na ito ay kinabibilangan ng security fix para sa isang extension ng OpenSSL kahinaan sa pagpapatunay ng hostname.

Ano ang bago sa bersyon 2.2.0:

  • VM (cache ng paraan)
  • RGenGC (Tingnan ang presentasyon ng RubyKaigi ng ko1 at pagtatanghal ng RubyConf 2013)
  • mga pagpapaganda # 8481 # 8571
  • mga pagbabago sa syntax:
  • Decimal / Complex Literal # 8430
  • Halaga ng return ng def # 3753
  • Bignum:
  • gumamit ng GMP # 8796
  • String # scrub # 8414
  • Socket.getifaddrs # 8368
  • RDoc 4.1.0 at RubyGems 2.2.0
  • & quot; literal & quot; .freeze ngayon ay na-optimize na # 9042
  • magdagdag ng Exception # cause # 8257
  • mag-update ng mga aklatan tulad ng BigDecimal, JSON, NKF, Rake, RubyGems, at RDoc
  • alisin ang mga sumpa # 8584

Ano ang bago sa bersyon 2.0.0-p0:

  • Mga pangunahing tampok ng wika:
  • Mga argumento ng keyword, na nagbibigay ng kakayahang umangkop sa disenyo ng API
  • Module # prepend, na isang bagong paraan upang mapalawak ang isang klase
  • Isang literal na% i, na lumilikha ng isang array ng mga simbolo nang madali
  • __ dir__, na nagbabalik sa dirname ng file na kasalukuyang pinapatakbo
  • Ang default na pag-encode ng UTF-8, na gumawa ng maraming mga mahuhusay na komento na binibigkas
  • Mga built-in library:
  • Hindi mabilang # tamad at Enumerator :: Lazy, para sa (posibleng walang hanggan) tamad na stream
  • Sukat ng enumerator # at laki ng Saklaw ng #, para sa tamad na pagsusuri ng laki
  • # to_h, na isang bagong kombensyon para sa conversion sa Hash
  • Onigmo, na isang bagong engine ng regexp (isang tinidor ng Oniguruma)
  • Asynchronous handling handling API
  • Suporta sa pag-debug:
  • DTrace support, na nagpapagana ng run-time diagnosis sa produksyon
  • TracePoint, na isang pinabuting API na pagsunod.
  • Mga pagpapabuti sa pagganap:
  • Pag-optimize ng GC sa pamamagitan ng pagmamarka ng bitmap
  • Ang Kernel # ay nangangailangan ng pag-optimize na ginagawang napakabilis ng startup ng daang-bakal
  • Pag-optimize ng VM tulad ng pagpapadala ng paraan
  • Float operation optimization

Ano ang bago sa bersyon 1.9.3-p392:

  • Ang release na ito ay may mga pag-aayos sa seguridad tungkol sa na-bundle na JSON at REXML:
  • Pagtanggi sa Paglilingkod at Di-ligtas na Paglikha ng Bagay na Nilalaman sa JSON (CVE-2013-0269)
  • Pagpapalawak ng entity ang kahinaan sa REXML (XML bomb)
  • At ang ilang maliit na bugfixes ay kasama rin.
  • Ano ang bago sa bersyon 1.9.3-p385:

    • RDoc.

    Ano ang bago sa bersyon 1.9.3-p384:

    • RDoc.

    Ano ang bago sa bersyon 1.9.3-p286:

    • $ SAFE escaping vulnerability about Exception # to_s / NameError # to_s (CVE-2012-4464, CVE-2012-4466)
    • Hindi sinasadya ang paglikha ng file na sanhi ng pagpasok ng ilegal na NUL character
    • iba pang mga pag-aayos ng bug.

    Katulad na software

    Seed7
    Seed7

    22 Jun 18

    Polygen
    Polygen

    3 Jun 15

    IPython
    IPython

    20 Feb 15

    Mga komento sa Ruby

    Mga Komento hindi natagpuan
    Magdagdag ng komento
    I-sa mga imahe!