Ruby je multiplatformní, volně distribuovaný, bohatý a otevřený zdrojový příkazový software, který byl navržen od základů, aby poskytl výkonný programovací jazyk pro vývojáře, kteří chtějí vytvořit aplikaci v Ruby .
Vlastnosti, spousta funkcí
Mezi klíčové funkce patří jednoduchá syntaxe inspirovaná Adou a Eiffelem, nezávislé závitování operačního systému, možnosti zpracování výjimek pro manipulaci s chybami, řadu operátorů, čistý a kompletní objektově orientovaný jazyk a podpora přidávání metod do třídy.
Navíc Ruby obsahuje pouze jedno dědictví, opravdové uzávěry, bloky ve své syntaxi, skutečný sběratel odpadků pro značení a zametání, podpora psaní rozšíření C, celá čísla, podpora dynamického načítání knihoven extenzí a to není potřebujete proměnné prohlášení.
Začínáme s Ruby
Instalace programovacího jazyka Ruby do operačního systému GNU / Linux je velmi snadná, protože balíček je k dispozici ke stažení na všech hlavních distribucích přímo z hlavních repozitářů softwaru. Použijte vestavěnou aplikaci Software Center k její instalaci.
Jako alternativu lze nejnovější verzi nainstalovat pomocí zdrojového balíčku, který je bezplatně distribuován na softwaru Softoware. Jednoduše stáhněte a uložte jej do domovského adresáře, extrahujte archiv a přejděte do umístění extrahovaných archivních souborů v aplikaci emulátoru terminálu (např. Cd /home/softoware/ruby-2.2.0).
Spusťte & lsquo; ./ configure & rsquo; příkaz pro konfiguraci projektu (k zobrazení dostupných možností pro optimalizaci Ruby pro specifickou hardwarovou architekturu můžete použít příkaz & lsquo; ./conf --help & rsquo;). Poté spusťte příkaz & make; příkaz pro jeho kompilaci a sudo make install & rsquo; příkaz k jeho instalaci.
Podporováno na systémech GNU / Linux, Windows, Mac OS X, BeOS a OS / 2
Ruby je multiplatformní software, který lze úspěšně použít na všech distribucích GNU / Linux, stejně jako na libovolném operačním systému typu UNIX, včetně Mac OS X, BeOS, OS / 2 a Microsoft Windows. Je kompatibilní s 32bitovými i 64bitovými počítačovými platformami.
Co je nové v této verzi:
- Zavádí se Pragma s frozen strings. S Ruby 2.1 bylo "str" .freeze optimalizováno pro snížení přidělení objektů. Ruby 2.3 představuje novou magickou poznámku a možnost příkazového řádku zmrazit všechny řetězcové literály ve zdrojových souborech. Navíc pro ladění můžete získat místo, kde je objekt vytvořen na stránce "Nemůžu upravit zmrazený řetězec" chyba by --debug = volba příkazového řádku zmrazené-string-literal.
- Je zaveden bezpečný navigační operátor (tzv. osamělý operátor) &., který již existuje v systémech C #, Groovy a Swift, aby se usnadnilo nulové ovládání jako obj & .foo. Rovněž jsou přidány pole # dig a Hash # dig. Všimněte si, že se to chová jako zkus! Aktivní podpora, která zvláště zpracovává pouze nulu.
- Klenot did_you_mean je spojen. Gem did_you_mean zobrazuje kandidáty na názvech NameError a NoMethodError pro snadné ladění.
- RubyVM :: InstructionSequence # to_binary a .load_from_binary jsou představeny jako experimentální funkce. S těmito funkcemi můžeme vytvořit předkompilační systém ISeq (bytecode).
- Zahrnuje také mnoho vylepšení výkonu, např. přehodnotit metodu zadávání dat metod, zavést novou strukturu dat tabulky, optimalizovat Proc # volání, ladění úrovně kódu stroje pro přidělení objektů a volání kódu metody, Socket a vstupy / výstupy umožňují použít výjimku: klíčová slova pro vysoce výkonné neblokující vstupy / výstupy a podobně.
Co je nového ve verzi 2.5.0:
- Zavádí se Pragma s frozen strings. S Ruby 2.1 bylo "str" .freeze optimalizováno pro snížení přidělení objektů. Ruby 2.3 představuje novou magickou poznámku a možnost příkazového řádku zmrazit všechny řetězcové literály ve zdrojových souborech. Navíc pro ladění můžete získat místo, kde je objekt vytvořen na stránce "Nemůžu upravit zmrazený řetězec" chyba by --debug = volba příkazového řádku zmrazené-string-literal.
- Je zaveden bezpečný navigační operátor (tzv. osamělý operátor) &., který již existuje v systémech C #, Groovy a Swift, aby se usnadnilo nulové ovládání jako obj & .foo. Rovněž jsou přidány pole # dig a Hash # dig. Všimněte si, že se to chová jako zkus! Aktivní podpora, která zvláště zpracovává pouze nulu.
- Klenot did_you_mean je spojen. Gem did_you_mean zobrazuje kandidáty na názvech NameError a NoMethodError pro snadné ladění.
- RubyVM :: InstructionSequence # to_binary a .load_from_binary jsou představeny jako experimentální funkce. S těmito funkcemi můžeme vytvořit předkompilační systém ISeq (bytecode).
- Zahrnuje také mnoho vylepšení výkonu, např. přehodnotit metodu zadávání dat metod, zavést novou strukturu dat tabulky, optimalizovat Proc # volání, ladění úrovně kódu stroje pro přidělení objektů a volání kódu metody, Socket a vstupy / výstupy umožňují použít výjimku: klíčová slova pro vysoce výkonné neblokující vstupy / výstupy a podobně.
Co je nového ve verzi 2.4.2:
- Zavádí se Pragma s frozen strings. S Ruby 2.1 bylo "str" .freeze optimalizováno pro snížení přidělení objektů. Ruby 2.3 představuje novou magickou poznámku a možnost příkazového řádku zmrazit všechny řetězcové literály ve zdrojových souborech. Navíc pro ladění můžete získat místo, kde je objekt vytvořen na stránce "Nemůžu upravit zmrazený řetězec" chyba by --debug = volba příkazového řádku zmrazené-string-literal.
- Je zaveden bezpečný navigační operátor (tzv. osamělý operátor) &., který již existuje v systémech C #, Groovy a Swift, aby se usnadnilo nulové ovládání jako obj & .foo. Rovněž jsou přidány pole # dig a Hash # dig. Všimněte si, že se to chová jako zkus! Aktivní podpora, která zvláště zpracovává pouze nulu.
- Klenot did_you_mean je spojen. Gem did_you_mean zobrazuje kandidáty na názvech NameError a NoMethodError pro snadné ladění.
- RubyVM :: InstructionSequence # to_binary a .load_from_binary jsou představeny jako experimentální funkce. S těmito funkcemi můžeme vytvořit předkompilační systém ISeq (bytecode).
- Zahrnuje také mnoho vylepšení výkonu, např. přehodnotit metodu zadávání dat metod, zavést novou strukturu dat tabulky, optimalizovat Proc # volání, ladění úrovně kódu stroje pro přidělení objektů a volání kódu metody, Socket a vstupy / výstupy umožňují použít výjimku: klíčová slova pro vysoce výkonné neblokující vstupy / výstupy a podobně.
Co je nového ve verzi 2.4.1:
- Zavádí se Pragma s frozen strings. S Ruby 2.1 bylo "str" .freeze optimalizováno pro snížení přidělení objektů. Ruby 2.3 představuje novou magickou poznámku a možnost příkazového řádku zmrazit všechny řetězcové literály ve zdrojových souborech. Navíc pro ladění můžete získat místo, kde je objekt vytvořen na stránce "Nemůžu upravit zmrazený řetězec" chyba by --debug = volba příkazového řádku zmrazené-string-literal.
- Je zaveden bezpečný navigační operátor (tzv. osamělý operátor) &., který již existuje v systémech C #, Groovy a Swift, aby se usnadnilo nulové ovládání jako obj & .foo. Rovněž jsou přidány pole # dig a Hash # dig. Všimněte si, že se to chová jako zkus! Aktivní podpora, která zvláště zpracovává pouze nulu.
- Klenot did_you_mean je spojen. Gem did_you_mean zobrazuje kandidáty na názvech NameError a NoMethodError pro snadné ladění.
- RubyVM :: InstructionSequence # to_binary a .load_from_binary jsou představeny jako experimentální funkce. S těmito funkcemi můžeme vytvořit předkompilační systém ISeq (bytecode).
- Zahrnuje také mnoho vylepšení výkonu, např. přehodnotit metodu zadávání dat metod, zavést novou strukturu dat tabulky, optimalizovat Proc # volání, ladění úrovně kódu stroje pro přidělení objektů a volání kódu metody, Socket a vstupy / výstupy umožňují použít výjimku: klíčová slova pro vysoce výkonné neblokující vstupy / výstupy a podobně.
Co je nového ve verzi 2.4.0:
- Zavádí se Pragma s frozen strings. S Ruby 2.1 bylo "str" .freeze optimalizováno pro snížení přidělení objektů. Ruby 2.3 představuje novou magickou poznámku a možnost příkazového řádku zmrazit všechny řetězcové literály ve zdrojových souborech. Navíc pro ladění můžete získat místo, kde je objekt vytvořen na stránce "Nemůžu upravit zmrazený řetězec" chyba by --debug = volba příkazového řádku zmrazené-string-literal.
- Je zaveden bezpečný navigační operátor (tzv. osamělý operátor) &., který již existuje v systémech C #, Groovy a Swift, aby se usnadnilo nulové ovládání jako obj & .foo. Rovněž jsou přidány pole # dig a Hash # dig. Všimněte si, že se to chová jako zkus! Aktivní podpora, která zvláště zpracovává pouze nulu.
- Klenot did_you_mean je spojen. Gem did_you_mean zobrazuje kandidáty na názvech NameError a NoMethodError pro snadné ladění.
- RubyVM :: InstructionSequence # to_binary a .load_from_binary jsou představeny jako experimentální funkce. S těmito funkcemi můžeme vytvořit předkompilační systém ISeq (bytecode).
- Zahrnuje také mnoho vylepšení výkonu, např. přehodnotit metodu zadávání dat metod, zavést novou strukturu dat tabulky, optimalizovat Proc # volání, ladění úrovně kódu stroje pro přidělení objektů a volání kódu metody, Socket a vstupy / výstupy umožňují použít výjimku: klíčová slova pro vysoce výkonné neblokující vstupy / výstupy a podobně.
Co je nového ve verzi 2.3.3:
- Zavádí se Pragma s frozen strings. S Ruby 2.1 bylo "str" .freeze optimalizováno pro snížení přidělení objektů. Ruby 2.3 představuje novou magickou poznámku a možnost příkazového řádku zmrazit všechny řetězcové literály ve zdrojových souborech. Navíc pro ladění můžete získat místo, kde je objekt vytvořen na stránce "Nemůžu upravit zmrazený řetězec" chyba by --debug = volba příkazového řádku zmrazené-string-literal.
- Je zaveden bezpečný navigační operátor (tzv. osamělý operátor) &., který již existuje v systémech C #, Groovy a Swift, aby se usnadnilo nulové ovládání jako obj & .foo. Rovněž jsou přidány pole # dig a Hash # dig. Všimněte si, že se to chová jako zkus! Aktivní podpora, která zvláště zpracovává pouze nulu.
- Klenot did_you_mean je spojen. Gem did_you_mean zobrazuje kandidáty na názvech NameError a NoMethodError pro snadné ladění.
- RubyVM :: InstructionSequence # to_binary a .load_from_binary jsou představeny jako experimentální funkce. S těmito funkcemi můžeme vytvořit předkompilační systém ISeq (bytecode).
- Zahrnuje také mnoho vylepšení výkonu, např. přehodnotit metodu zadávání dat metod, zavést novou strukturu dat tabulky, optimalizovat Proc # volání, ladění úrovně kódu stroje pro přidělení objektů a volání kódu metody, Socket a vstupy / výstupy umožňují použít výjimku: klíčová slova pro vysoce výkonné neblokující vstupy / výstupy a podobně.
Co je nového ve verzi 2.3.1:
- Zavádí se Pragma s frozen strings. S Ruby 2.1 bylo "str" .freeze optimalizováno pro snížení přidělení objektů. Ruby 2.3 představuje novou magickou poznámku a možnost příkazového řádku zmrazit všechny řetězcové literály ve zdrojových souborech. Navíc pro ladění můžete získat místo, kde je objekt vytvořen na stránce "Nemůžu upravit zmrazený řetězec" chyba by --debug = volba příkazového řádku zmrazené-string-literal.
- Je zaveden bezpečný navigační operátor (tzv. osamělý operátor) &., který již existuje v systémech C #, Groovy a Swift, aby se usnadnilo nulové ovládání jako obj & .foo. Rovněž jsou přidány pole # dig a Hash # dig. Všimněte si, že se to chová jako zkus! Aktivní podpora, která zvláště zpracovává pouze nulu.
- Klenot did_you_mean je spojen. Gem did_you_mean zobrazuje kandidáty na názvech NameError a NoMethodError pro snadné ladění.
- RubyVM :: InstructionSequence # to_binary a .load_from_binary jsou představeny jako experimentální funkce. S těmito funkcemi můžeme vytvořit předkompilační systém ISeq (bytecode).
- Zahrnuje také mnoho vylepšení výkonu, např. přehodnotit metodu zadávání dat metod, zavést novou strukturu dat tabulky, optimalizovat Proc # volání, ladění úrovně kódu stroje pro přidělení objektů a volání kódu metody, Socket a vstupy / výstupy umožňují použít výjimku: klíčová slova pro vysoce výkonné neblokující vstupy / výstupy a podobně.
Co je nového ve verzi 2.3.0:
- Zavádí se Pragma s frozen strings. S Ruby 2.1 bylo "str" .freeze optimalizováno pro snížení přidělení objektů. Ruby 2.3 představuje novou magickou poznámku a možnost příkazového řádku zmrazit všechny řetězcové literály ve zdrojových souborech. Navíc pro ladění můžete získat místo, kde je objekt vytvořen na stránce "Nemůžu upravit zmrazený řetězec" chyba by --debug = volba příkazového řádku zmrazené-string-literal.
- Je zaveden bezpečný navigační operátor (tzv. osamělý operátor) &., který již existuje v systémech C #, Groovy a Swift, aby se usnadnilo nulové ovládání jako obj & .foo. Rovněž jsou přidány pole # dig a Hash # dig. Všimněte si, že se to chová jako zkus! Aktivní podpora, která zvláště zpracovává pouze nulu.
- Klenot did_you_mean je spojen. Gem did_you_mean zobrazuje kandidáty na názvech NameError a NoMethodError pro snadné ladění.
- RubyVM :: InstructionSequence # to_binary a .load_from_binary jsou představeny jako experimentální funkce. S těmito funkcemi můžeme vytvořit předkompilační systém ISeq (bytecode).
- Zahrnuje také mnoho vylepšení výkonu, např. přehodnotit metodu zadávání dat metod, zavést novou strukturu dat tabulky, optimalizovat Proc # volání, ladění úrovně kódu stroje pro přidělení objektů a volání kódu metody, Socket a vstupy / výstupy umožňují použít výjimku: klíčová slova pro vysoce výkonné neblokující vstupy / výstupy a podobně.
Co je nového ve verzi 2.2.3:
- Toto vydání obsahuje bezpečnostní opravu domény RubyGems chyba ověření názvu. CVE-2015-3900 Požadavek na zneužití v RubyGems 2.4.6 a dřívějších
Co je nového ve verzi 2.2.2:
- Toto vydání obsahuje opravu zabezpečení pro příponu OpenSSL chyba zabezpečení ověření hostitele.
Co je nového ve verzi 2.2.0:
- VM (metoda cache)
- RGenGC (viz prezentace RubyKaigi ko1 a prezentace RubyConf 2013)
- zpřesnění # 8481 # 8571
- Změny syntaxe:
- Desítková / Komplexní zápis # 8430
- návratová hodnota def # 3753
- Bignum:
- použijte GMP # 8796
- String # scrub # 8414
- Socket.getifaddrs # 8368
- RDoc 4.1.0 a RubyGems 2.2.0
- "doslovný" .freeze je nyní optimalizován # 9042
- přidat výjimku # příčina # 8257
- aktualizovat knihovny jako BigDecimal, JSON, NKF, Rake, RubyGems a RDoc
- odstraňte kletby # 8584
Co je nového ve verzi 2.0.0-p0:
- Základní funkce jazyka:
- Argumenty klíčových slov, které dávají flexibilitu návrhu API
- modul # prepend, což je nový způsob rozšíření třídy
- Doslovný% i, který snadno vytváří pole symbolů
- __ dir__, který vrátí dirname aktuálně prováděného souboru
- Výchozí kódování UTF-8, které činí mnoho kouzelných komentářů neviditelnými
- Vestavěné knihovny:
- Vyčíslitelný # Lazy a Enumerator :: Lazy, pro (možná nekonečný) líný proud
- Velikost enumerátoru # a Rozsah # pro lazy velikost hodnocení
- # to_h, což je nová konvence pro konverzi do Hash
- Onigmo, což je nový motor regexp (vidlice Oniguruma)
- API pro zpracování asynchronních výjimek
- Podpora ladění:
- Podpora DTrace, která umožňuje diagnostiku běhu při výrobě
- TracePoint, což je vylepšené API trasování
- Vylepšení výkonu:
- Optimalizace GC podle bitmapové značky
- Kernel # vyžaduje optimalizaci, díky níž se Rails spouští velmi rychle
- Optimalizace VM, jako je odeslání metody
- Optimalizace provozu float
Co je nového ve verzi 1.9.3-p392:
- Toto vydání obsahuje opravy zabezpečení týkající se balíčků JSON a REXML:
- JSON (CVE-2013-0269)
- Chyba zabezpečení odmítnutí služby a nebezpečné vytvoření objektu
- Rozšíření Entity DoS v systému REXML (bomba XML)
- A také jsou zahrnuty některé malé opravy chyb
Co je nového ve verzi 1.9.3-p385:
- RDoc.
Co je nového ve verzi 1.9.3-p384:
- RDoc.
Co je nového ve verzi 1.9.3-p286:
- $ SAFE / NameError # to_s (CVE-2012-4464, CVE-2012-4466)
- Neúmyslné vytvoření souboru způsobené vložením nepovoleného znaku NUL
- další opravy chyb
Komentáře nebyl nalezen