A Ruby egy többplatformos, szabadon elosztott, funkciógazdag és nyílt forráskódú parancssori szoftver, amelyet az alapokból fejlesztettek ki, hogy hatékony programozási nyelvet biztosítson azoknak a fejlesztőknek, akik Ruby .
Jellemzők, sok funkció
A legfontosabb jellemzők közé tartozik az Ada és az Eiffel által inspirált egyszerű szintaxis, az operációs rendszer független menetvágása, kivételkezelési képességek a hibák kezeléséhez, számos operátor, tiszta és teljes objektumorientált nyelv, valamint a módszerek hozzáadásának támogatása egy osztályhoz. / p>
Ezenkívül a Ruby csak egy öröklést, valódi bezárásokat, szintaktikai blokkokat, valódi szemét és söprésű szemétgyűjtőt, C kiterjesztések, egész számok támogatását támogatja, támogatja a kiterjesztési könyvtárak dinamikus betöltését, és ez nem változó nyilatkozatokra van szükség.
A Ruby-szal kezdve
A Ruby programnyelv telepítése GNU / Linux operációs rendszerre nagyon könnyű feladat, mivel a csomag letölthető minden nagyobb disztribúcióra, közvetlenül a fő szoftvercsomagokból. Telepítse a beépített Szoftverközpont alkalmazást.
Alternatív megoldásként a legújabb verzió telepíthető a forráscsomag használatával, amelyet a Softoware ingyen terjeszt. Egyszerűen töltse le és mentse el a saját könyvtárába, vegyen ki egy archiválást, és navigáljon a kibontott archív fájlok helyére egy terminál emulátoralkalmazásban (például cd /home/softoware/ruby-2.2.0).
Futtassa az & lsquo; ./ configure & rsquo; parancsot a projekt konfigurálásához (az & lsquo; ./ configure --help & rsquo; parancs segítségével megtekintheti az elérhető hardverarchitektúra Ruby optimalizálási lehetőségeit). Ezután futtassa az & lsquo; make & rsquo; parancsot fordítani és az & lsquo; sudo make install & rsquo; parancsot telepíteni.
GNU / Linux, Windows, Mac OS X, BeOS és OS / 2 támogatással
A Ruby egy cross-platform szoftver, amely sikeresen használható minden GNU / Linux disztribúcióban, valamint bármilyen UNIX-szerű operációs rendszeren, beleértve a Mac OS X, a BeOS, az OS / 2 és a Microsoft Windows. Ez a 32 bites és 64 bites számítógépes platformokkal kompatibilis.
Az újdonság ebben a kiadásban:
- A Frozen String Literal Pragmát vezettük be. A Ruby 2.1-vel a "str" .freeze optimalizálva lett az objektumok elosztásának csökkentése érdekében. A Ruby 2.3 új mágikus megjegyzést és parancssori opciót kínál be a forrásfájlok összes karakterláncának befagyasztásához. Továbbá a hibakereséshez a "nem tud módosítani a fagyasztott karakterláncot" létrehozni, ahol az objektum létrejön. hiba a --debug = frozen-string-literal parancssori opcióval.
- A C #, a Groovy és a Swift már létező biztonságos navigációs operátort (úgynevezett magányos kezelőt) írtunk be, amely megkönnyíti a null kezelést, mint az obj & .foo. Array # dig és Hash # dig is hozzá. Ne feledje, hogy ez próbálkozik! az aktív támogatás, amely speciálisan csak nulla értékkel rendelkezik.
- A did_you_mean drágakövet csomagolták. A did_you_mean drágakő mutatja a jelölteket a NameError és a NoMethodError segítségével a hibakeresés megkönnyítésére.
- RubyVM :: InstructionSequence # to_binary és a .load_from_binary kísérleti funkcióként kerülnek bevezetésre. Ezekkel a szolgáltatásokkal létrehozhatunk egy ISeq (bytecode) elő-összeállítási rendszert.
- Emellett számos teljesítményjavulást is magában foglal, többek között újraszámolja az adatbevitel adatstruktúráját, új táblázatadat struktúrát vezet be, optimalizálja a Proc # hívást, gépi kódszintű hangolást az objektumfelosztásra és a módszer hívókódjára, Az aljzat és az I / O engedélyezi a "kivétel: & quot; a nagy teljesítményű, nem blokkoló I / O kulcsszavakat és így tovább.
A
Újdonság a 2.5.0 verzióban:
- A Frozen String Literal Pragmát vezettük be. A Ruby 2.1-vel a "str" .freeze optimalizálva lett az objektumok elosztásának csökkentése érdekében. A Ruby 2.3 új mágikus megjegyzést és parancssori opciót kínál be a forrásfájlok összes karakterláncának befagyasztásához. Továbbá a hibakereséshez a "nem tud módosítani a fagyasztott karakterláncot" létrehozni, ahol az objektum létrejön. hiba a --debug = frozen-string-literal parancssori opcióval.
- A C #, a Groovy és a Swift már létező biztonságos navigációs operátort (úgynevezett magányos kezelőt) írtunk be, amely megkönnyíti a null kezelést, mint az obj & .foo. Array # dig és Hash # dig is hozzá. Ne feledje, hogy ez próbálkozik! az aktív támogatás, amely speciálisan csak nulla értékkel rendelkezik.
- A did_you_mean drágakövet csomagolták. A did_you_mean drágakő mutatja a jelölteket a NameError és a NoMethodError segítségével a hibakeresés megkönnyítésére.
- RubyVM :: InstructionSequence # to_binary és a .load_from_binary kísérleti funkcióként kerülnek bevezetésre. Ezekkel a szolgáltatásokkal létrehozhatunk egy ISeq (bytecode) elő-összeállítási rendszert.
- Emellett számos teljesítményjavulást is magában foglal, többek között újraszámolja az adatbevitel adatstruktúráját, új táblázatadat struktúrát vezet be, optimalizálja a Proc # hívást, gépi kódszintű hangolást az objektumfelosztásra és a módszer hívókódjára, Az aljzat és az I / O engedélyezi a "kivétel: & quot; a nagy teljesítményű, nem blokkoló I / O kulcsszavakat és így tovább.
A
Újdonság a 2.4.2-es verzióban:
- A Frozen String Literal Pragmát vezettük be. A Ruby 2.1-vel a "str" .freeze optimalizálva lett az objektumok elosztásának csökkentése érdekében. A Ruby 2.3 új mágikus megjegyzést és parancssori opciót kínál be a forrásfájlok összes karakterláncának befagyasztásához. Továbbá a hibakereséshez a "nem tud módosítani a fagyasztott karakterláncot" létrehozni, ahol az objektum létrejön. hiba a --debug = frozen-string-literal parancssori opcióval.
- A C #, a Groovy és a Swift már létező biztonságos navigációs operátort (úgynevezett magányos kezelőt) írtunk be, amely megkönnyíti a null kezelést, mint az obj & .foo. Array # dig és Hash # dig is hozzá. Ne feledje, hogy ez próbálkozik! az aktív támogatás, amely speciálisan csak nulla értékkel rendelkezik.
- A did_you_mean drágakövet csomagolták. A did_you_mean drágakő mutatja a jelölteket a NameError és a NoMethodError segítségével a hibakeresés megkönnyítésére.
- RubyVM :: InstructionSequence # to_binary és a .load_from_binary kísérleti funkcióként kerülnek bevezetésre. Ezekkel a szolgáltatásokkal létrehozhatunk egy ISeq (bytecode) elő-összeállítási rendszert.
- Emellett számos teljesítményjavulást is magában foglal, többek között újraszámolja az adatbevitel adatstruktúráját, új táblázatadat struktúrát vezet be, optimalizálja a Proc # hívást, gépi kódszintű hangolást az objektumfelosztásra és a módszer hívókódjára, Az aljzat és az I / O engedélyezi a "kivétel: & quot; a nagy teljesítményű, nem blokkoló I / O kulcsszavakat és így tovább.
A
Újdonság a 2.4.1-es verzióban:
- A Frozen String Literal Pragmát vezettük be. A Ruby 2.1-vel a "str" .freeze optimalizálva lett az objektumok elosztásának csökkentése érdekében. A Ruby 2.3 új mágikus megjegyzést és parancssori opciót kínál be a forrásfájlok összes karakterláncának befagyasztásához. Továbbá a hibakereséshez a "nem tud módosítani a fagyasztott karakterláncot" létrehozni, ahol az objektum létrejön. hiba a --debug = frozen-string-literal parancssori opcióval.
- A C #, a Groovy és a Swift már létező biztonságos navigációs operátort (úgynevezett magányos kezelőt) írtunk be, amely megkönnyíti a null kezelést, mint az obj & .foo. Array # dig és Hash # dig is hozzá. Ne feledje, hogy ez próbálkozik! az aktív támogatás, amely speciálisan csak nulla értékkel rendelkezik.
- A did_you_mean drágakövet csomagolták. A did_you_mean drágakő mutatja a jelölteket a NameError és a NoMethodError segítségével a hibakeresés megkönnyítésére.
- RubyVM :: InstructionSequence # to_binary és a .load_from_binary kísérleti funkcióként kerülnek bevezetésre. Ezekkel a szolgáltatásokkal létrehozhatunk egy ISeq (bytecode) elő-összeállítási rendszert.
- Emellett számos teljesítményjavulást is magában foglal, többek között újraszámolja az adatbevitel adatstruktúráját, új táblázatadat struktúrát vezet be, optimalizálja a Proc # hívást, gépi kódszintű hangolást az objektumfelosztásra és a módszer hívókódjára, Az aljzat és az I / O engedélyezi a "kivétel: & quot; a nagy teljesítményű, nem blokkoló I / O kulcsszavakat és így tovább.
A
Újdonság a 2.4.0-es verzióban:
- A Frozen String Literal Pragmát vezettük be. A Ruby 2.1-vel a "str" .freeze optimalizálva lett az objektumok elosztásának csökkentése érdekében. A Ruby 2.3 új mágikus megjegyzést és parancssori opciót kínál be a forrásfájlok összes karakterláncának befagyasztásához. Továbbá a hibakereséshez a "nem tud módosítani a fagyasztott karakterláncot" létrehozni, ahol az objektum létrejön. hiba a --debug = frozen-string-literal parancssori opcióval.
- A C #, a Groovy és a Swift már létező biztonságos navigációs operátort (úgynevezett magányos kezelőt) írtunk be, amely megkönnyíti a null kezelést, mint az obj & .foo. Array # dig és Hash # dig is hozzá. Ne feledje, hogy ez próbálkozik! az aktív támogatás, amely speciálisan csak nulla értékkel rendelkezik.
- A did_you_mean drágakövet csomagolták. A did_you_mean drágakő mutatja a jelölteket a NameError és a NoMethodError segítségével a hibakeresés megkönnyítésére.
- RubyVM :: InstructionSequence # to_binary és a .load_from_binary kísérleti funkcióként kerülnek bevezetésre. Ezekkel a szolgáltatásokkal létrehozhatunk egy ISeq (bytecode) elő-összeállítási rendszert.
- Emellett számos teljesítményjavulást is magában foglal, többek között újraszámolja az adatbevitel adatstruktúráját, új táblázatadat struktúrát vezet be, optimalizálja a Proc # hívást, gépi kódszintű hangolást az objektumfelosztásra és a módszer hívókódjára, Az aljzat és az I / O engedélyezi a "kivétel: & quot; a nagy teljesítményű, nem blokkoló I / O kulcsszavakat és így tovább.
A
Újdonság a 2.3.3-as verzióban:
- A Frozen String Literal Pragmát vezettük be. A Ruby 2.1-vel a "str" .freeze optimalizálva lett az objektumok elosztásának csökkentése érdekében. A Ruby 2.3 új mágikus megjegyzést és parancssori opciót kínál be a forrásfájlok összes karakterláncának befagyasztásához. Továbbá a hibakereséshez a "nem tud módosítani a fagyasztott karakterláncot" létrehozni, ahol az objektum létrejön. hiba a --debug = frozen-string-literal parancssori opcióval.
- A C #, a Groovy és a Swift már létező biztonságos navigációs operátort (úgynevezett magányos kezelőt) írtunk be, amely megkönnyíti a null kezelést, mint az obj & .foo. Array # dig és Hash # dig is hozzá. Ne feledje, hogy ez próbálkozik! az aktív támogatás, amely speciálisan csak nulla értékkel rendelkezik.
- A did_you_mean drágakövet csomagolták. A did_you_mean drágakő mutatja a jelölteket a NameError és a NoMethodError segítségével a hibakeresés megkönnyítésére.
- RubyVM :: InstructionSequence # to_binary és a .load_from_binary kísérleti funkcióként kerülnek bevezetésre. Ezekkel a szolgáltatásokkal létrehozhatunk egy ISeq (bytecode) elő-összeállítási rendszert.
- Emellett számos teljesítményjavulást is magában foglal, többek között újraszámolja az adatbevitel adatstruktúráját, új táblázatadat struktúrát vezet be, optimalizálja a Proc # hívást, gépi kódszintű hangolást az objektumfelosztásra és a módszer hívókódjára, Az aljzat és az I / O engedélyezi a "kivétel: & quot; a nagy teljesítményű, nem blokkoló I / O kulcsszavakat és így tovább.
A
Újdonság a 2.3.1-es verzióban:
- A Frozen String Literal Pragmát vezettük be. A Ruby 2.1-vel a "str" .freeze optimalizálva lett az objektumok elosztásának csökkentése érdekében. A Ruby 2.3 új mágikus megjegyzést és parancssori opciót kínál be a forrásfájlok összes karakterláncának befagyasztásához. Továbbá a hibakereséshez a "nem tud módosítani a fagyasztott karakterláncot" létrehozni, ahol az objektum létrejön. hiba a --debug = frozen-string-literal parancssori opcióval.
- A C #, a Groovy és a Swift már létező biztonságos navigációs operátort (úgynevezett magányos kezelőt) írtunk be, amely megkönnyíti a null kezelést, mint az obj & .foo. Array # dig és Hash # dig is hozzá. Ne feledje, hogy ez próbálkozik! az aktív támogatás, amely speciálisan csak nulla értékkel rendelkezik.
- A did_you_mean drágakövet csomagolták. A did_you_mean drágakő mutatja a jelölteket a NameError és a NoMethodError segítségével a hibakeresés megkönnyítésére.
- RubyVM :: InstructionSequence # to_binary és a .load_from_binary kísérleti funkcióként kerülnek bevezetésre. Ezekkel a szolgáltatásokkal létrehozhatunk egy ISeq (bytecode) elő-összeállítási rendszert.
- Emellett számos teljesítményjavulást is magában foglal, többek között újraszámolja az adatbevitel adatstruktúráját, új táblázatadat struktúrát vezet be, optimalizálja a Proc # hívást, gépi kódszintű hangolást az objektumfelosztásra és a módszer hívókódjára, Az aljzat és az I / O engedélyezi a "kivétel: & quot; a nagy teljesítményű, nem blokkoló I / O kulcsszavakat és így tovább.
A
Újdonság a 2.3.0 verzióban:
- A Frozen String Literal Pragmát vezettük be. A Ruby 2.1-vel a "str" .freeze optimalizálva lett az objektumok elosztásának csökkentése érdekében. A Ruby 2.3 új mágikus megjegyzést és parancssori opciót kínál be a forrásfájlok összes karakterláncának befagyasztásához. Továbbá a hibakereséshez a "nem tud módosítani a fagyasztott karakterláncot" létrehozni, ahol az objektum létrejön. hiba a --debug = frozen-string-literal parancssori opcióval.
- A C #, a Groovy és a Swift már létező biztonságos navigációs operátort (úgynevezett magányos kezelőt) írtunk be, amely megkönnyíti a null kezelést, mint az obj & .foo. Array # dig és Hash # dig is hozzá. Ne feledje, hogy ez próbálkozik! az aktív támogatás, amely speciálisan csak nulla értékkel rendelkezik.
- A did_you_mean drágakövet csomagolták. A did_you_mean drágakő mutatja a jelölteket a NameError és a NoMethodError segítségével a hibakeresés megkönnyítésére.
- RubyVM :: InstructionSequence # to_binary és a .load_from_binary kísérleti funkcióként kerülnek bevezetésre. Ezekkel a szolgáltatásokkal létrehozhatunk egy ISeq (bytecode) elő-összeállítási rendszert.
- Emellett számos teljesítményjavulást is magában foglal, többek között újraszámolja az adatbevitel adatstruktúráját, új táblázatadat struktúrát vezet be, optimalizálja a Proc # hívást, gépi kódszintű hangolást az objektumfelosztásra és a módszer hívókódjára, Az aljzat és az I / O engedélyezi a "kivétel: & quot; a nagy teljesítményű, nem blokkoló I / O kulcsszavakat és így tovább.
- A kiadás tartalmazza a RubyGems domain biztonsági javítását névellenőrzési sérülékenység. CVE-2015-3900 Kérje a RubyGems 2.4.6 és korábbi verziói biztonsági rést.
- Ez a kiadás magában foglalja az OpenSSL kiterjesztés biztonsági javítását hostname verification vulnerability.
- VM (módszeres gyorsítótár)
- RGenGC (lásd a ko1 RubyKaigi bemutatóját és a RubyConf 2013 bemutatót)
- finomítások # 8481 # 8571
- szintaktikai változások:
- Decimal / Complex literal # 8430
- def visszatérési értéke # 3753
- Bignum:
- GMP # 8796 használata li>
- String # # 8414 törlõ
- Socket.getifaddrs # 8368
- RDoc 4.1.0 és RubyGems 2.2.0
- "szó szerinti" .fríz mostantól optimalizálva # 9042
- add Exception # ok # 8257
- Frissít könyvtárakat, mint a BigDecimal, a JSON, az NKF, a Rake, a RubyGems és a RDoc
- eltávolítja az átokokat # 8584
- A nyelvi főbb jellemzők:
- Kulcsszóelméletek, amelyek rugalmasságot biztosítanak az API-tervezéshez
- A # modul előretekerés, ami az osztály kiterjesztésének új módja
- literális% i, amely egyszerű szimbólumkészletet hoz létre
- __ dir__, amely az aktuálisan végrehajtott fájl nevét adja vissza
- Az UTF-8 alapértelmezett kódolása, amely sok mágikus megjegyzést elhárít
- Beépített könyvtárak:
- Számos # lusta és számláló: Lusta, (esetleg végtelen) lusta streamhez
- Enumerator # méret és tartományméret, lusta méretek értékeléséhez
- #to_h, amely egy új konvenció a Hash konverzióra
- Onigmo, ami egy új regexp motor (egy forrása az Oniguruma)
- Asynchronous exception handling API
- Hibakeresési támogatás:
- DTrace támogatás, amely lehetővé teszi a futásidejű diagnosztikát a gyártásban
- A TracePoint, amely egy továbbfejlesztett nyomkövetési API
- A teljesítmény javítása:
- GC-optimalizálás bitképes jelöléssel
- A rendszermag # optimalizálást igényel, ami a Rails indítása nagyon gyors
- VM optimalizálás, például a módszer feladás
- Úszóműveletek optimalizálása
- Ez a kiadás biztonsági javításokat tartalmaz a JSON és REXML csomagokról:
- A szolgáltatás megtagadása és a nem biztonságos objektum-létrehozó biztonsági rés a JSON-ban (CVE-2013-0269)
- Entity-bővítés a DoS biztonsági rést a REXML-ben (XML bomba)
- Néhány kisebb hibajavító is szerepel.
- Ez a kiadás biztonsági javítást tartalmaz a csomagban RDoc.
- Ez a kiadás biztonsági javítást tartalmaz a csomagban RDoc.
- / NameError # to_s (CVE-2012-4464, CVE-2012-4466)
- Nem szándékos fájl-létrehozás, amelyet illegális NUL-karakter beillesztése okozott
- sok egyéb hibajavítás.
A
Az újdonság a 2.2.2-es verzióban:
Újdonság a 2.2.0 verzióban:
A
Újdonság a 2.0.0-p0 verzióban:
Az újdonság az 1.9.3-p392 verzióban:
Az újdonság az 1.9.3-p385-es verzióban:
Az újdonság az 1.9.3-p384-es verzióban:
Az újdonság az 1.9.3-p286-as verzióban:
Hozzászólás nem található