Ruby

Screenshot Software:
Ruby
Szczegóły programowe:
Wersja: 2.5.1 Aktualizowane
Filmu: 17 Aug 18
Wywoływacz: Ruby team
Licencja: Wolny
Popularność: 73

Rating: 3.7/5 (Total Votes: 3)

Ruby to wieloplatformowe, swobodnie dystrybuowane, bogate w funkcje i otwarte oprogramowanie wiersza poleceń, które zostało zaprojektowane od podstaw w celu zapewnienia potężnego języka programowania dla programistów, którzy chcą tworzyć aplikacje w języku Ruby .


Funkcje, wiele funkcji

Najważniejsze funkcje to prosta składnia inspirowana przez Adę i Eiffela, wątki niezależne od systemu operacyjnego, możliwości obsługi wyjątków w obsłudze błędów, liczne operatory, czysty i kompletny język obiektowy, a także obsługa metod dodawania do klasy.

Dodatkowo Ruby zawiera tylko jedno dziedzictwo, prawdziwe zamknięcia, bloki w swojej składni, prawdziwy koszmar marnowania i czyszczenia, obsługę pisania rozszerzeń C, liczby całkowite, obsługę dynamicznego ładowania bibliotek rozszerzeń, i nie ma to znaczenia potrzebujesz deklaracji zmiennych.


Pierwsze kroki z Ruby

Zainstalowanie języka programowania Ruby na systemie operacyjnym GNU / Linux jest bardzo łatwym zadaniem, ponieważ pakiet jest dostępny do pobrania we wszystkich głównych dystrybucjach bezpośrednio z ich głównych repozytoriów oprogramowania. Użyj wbudowanej aplikacji Software Center, aby ją zainstalować.

Alternatywnie najnowszą wersję można zainstalować przy użyciu pakietu źródłowego, który jest dystrybuowany bezpłatnie na stronie Softoware. Po prostu pobierz i zapisz w swoim katalogu domowym, wyodrębnij archiwum i przejdź do lokalizacji wyodrębnionych plików archiwalnych w aplikacji emulatora terminala (np. Cd /home/softoware/ruby-2.2.0).

Uruchom plik & lsquo; ./ configure & rsquo; Polecenie do skonfigurowania projektu (możesz użyć polecenia & lsquo; / configure -help & rsquo ;, aby wyświetlić dostępne opcje optymalizacji Rubiego dla konkretnej architektury sprzętowej). Następnie uruchom & lsquo; make & rsquo; polecenie do skompilowania go i & lsquo; sudo make install & rsquo; polecenie do zainstalowania.


Obsługiwane w systemach GNU / Linux, Windows, Mac OS X, BeOS i OS / 2

Ruby to wieloplatformowe oprogramowanie, które może być z powodzeniem stosowane we wszystkich dystrybucjach GNU / Linux, a także w każdym systemie operacyjnym podobnym do UNIX, w tym Mac OS X, BeOS, OS / 2 i Microsoft Windows. Jest kompatybilny zarówno z 32-bitowymi, jak i 64-bitowymi platformami komputerowymi.

Co nowego w tej wersji:

  • Wprowadzono zamrożoną literalną Pragma String. W Rubim 2.1, "str" ​​.freeze został zoptymalizowany w celu redukcji przydziału obiektów. Ruby 2.3 wprowadza nowy magiczny komentarz i opcję linii poleceń, aby zamrozić wszystkie literały łańcuchowe w plikach źródłowych. Dodatkowo do debugowania można uzyskać miejsce, w którym obiekt jest tworzony, "nie można zmodyfikować zamrożonego ciągu". błąd przez --debug = zamrożona-ciąg-literalna opcja linii poleceń.
  • Wprowadzono bezpieczny operator nawigacji (tak zwany samotny operator) i., który już istnieje w C #, Groovy i Swift, aby ułatwić obsługę zerową jako obj & .foo. Array # dig i Hash # dig są również dodawane. Zauważ, że to się zachowuje jak spróbuj! Active Support, który specjalnie obsługuje tylko zero.
  • Klejnot did_you_mean jest spakowany. Klej did_you_mean pokazuje kandydatów na NameError i NoMethodError, aby ułatwić debugowanie.
  • RubyVM :: InstructionSequence # to_binary i .load_from_binary są wprowadzane jako funkcja eksperymentalna. Dzięki tym funkcjom możemy stworzyć system wstępnej kompilacji ISeq (bytecode).
  • Obejmuje to również wiele ulepszeń wydajności, na przykład, rewidowanie struktury danych wejściowych metody, wprowadzanie nowej struktury danych tabeli, optymalizowanie wywołania Proc #, strojenie kodu maszynowego dla alokacji obiektów i kodu wywoływania metod, inteligentniejsza struktura danych zmiennych instancji, Socket i I / O pozwalają na użycie "wyjątku:" słowa kluczowe dla wysokowydajnych nieblokujących I / O i tak dalej.

Co nowego w wersji 2.5.0:

  • Wprowadzono zamrożoną literalną Pragma String. W Rubim 2.1, "str" ​​.freeze został zoptymalizowany w celu redukcji przydziału obiektów. Ruby 2.3 wprowadza nowy magiczny komentarz i opcję linii poleceń, aby zamrozić wszystkie literały łańcuchowe w plikach źródłowych. Dodatkowo do debugowania można uzyskać miejsce, w którym obiekt jest tworzony, "nie można zmodyfikować zamrożonego ciągu". błąd przez --debug = zamrożona-ciąg-literalna opcja linii poleceń.
  • Wprowadzono bezpieczny operator nawigacji (tak zwany samotny operator) i., który już istnieje w C #, Groovy i Swift, aby ułatwić obsługę zerową jako obj & .foo. Array # dig i Hash # dig są również dodawane. Zauważ, że to się zachowuje jak spróbuj! Active Support, który specjalnie obsługuje tylko zero.
  • Klejnot did_you_mean jest spakowany. Klej did_you_mean pokazuje kandydatów na NameError i NoMethodError, aby ułatwić debugowanie.
  • RubyVM :: InstructionSequence # to_binary i .load_from_binary są wprowadzane jako funkcja eksperymentalna. Dzięki tym funkcjom możemy stworzyć system wstępnej kompilacji ISeq (bytecode).
  • Obejmuje to również wiele ulepszeń wydajności, na przykład, rewidowanie struktury danych wejściowych metody, wprowadzanie nowej struktury danych tabeli, optymalizowanie wywołania Proc #, strojenie kodu maszynowego dla alokacji obiektów i kodu wywoływania metod, inteligentniejsza struktura danych zmiennych instancji, Socket i I / O pozwalają na użycie "wyjątku:" słowa kluczowe dla wysokowydajnych nieblokujących I / O i tak dalej.

Co nowego w wersji 2.4.2:

  • Wprowadzono zamrożoną literalną Pragma String. W Rubim 2.1, "str" ​​.freeze został zoptymalizowany w celu redukcji przydziału obiektów. Ruby 2.3 wprowadza nowy magiczny komentarz i opcję linii poleceń, aby zamrozić wszystkie literały łańcuchowe w plikach źródłowych. Dodatkowo do debugowania można uzyskać miejsce, w którym obiekt jest tworzony, "nie można zmodyfikować zamrożonego ciągu". błąd przez --debug = zamrożona-ciąg-literalna opcja linii poleceń.
  • Wprowadzono bezpieczny operator nawigacji (tak zwany samotny operator) i., który już istnieje w C #, Groovy i Swift, aby ułatwić obsługę zerową jako obj & .foo. Array # dig i Hash # dig są również dodawane. Zauważ, że to się zachowuje jak spróbuj! Active Support, który specjalnie obsługuje tylko zero.
  • Klejnot did_you_mean jest spakowany. Klej did_you_mean pokazuje kandydatów na NameError i NoMethodError, aby ułatwić debugowanie.
  • RubyVM :: InstructionSequence # to_binary i .load_from_binary są wprowadzane jako funkcja eksperymentalna. Dzięki tym funkcjom możemy stworzyć system wstępnej kompilacji ISeq (bytecode).
  • Obejmuje to również wiele ulepszeń wydajności, na przykład, rewidowanie struktury danych wejściowych metody, wprowadzanie nowej struktury danych tabeli, optymalizowanie wywołania Proc #, strojenie kodu maszynowego dla alokacji obiektów i kodu wywoływania metod, inteligentniejsza struktura danych zmiennych instancji, Socket i I / O pozwalają na użycie "wyjątku:" słowa kluczowe dla wysokowydajnych nieblokujących I / O i tak dalej.

Co nowego w wersji 2.4.1:

  • Wprowadzono zamrożoną literalną Pragma String. W Rubim 2.1, "str" ​​.freeze został zoptymalizowany w celu redukcji przydziału obiektów. Ruby 2.3 wprowadza nowy magiczny komentarz i opcję linii poleceń, aby zamrozić wszystkie literały łańcuchowe w plikach źródłowych. Dodatkowo do debugowania można uzyskać miejsce, w którym obiekt jest tworzony, "nie można zmodyfikować zamrożonego ciągu". błąd przez --debug = zamrożona-ciąg-literalna opcja linii poleceń.
  • Wprowadzono bezpieczny operator nawigacji (tak zwany samotny operator) i., który już istnieje w C #, Groovy i Swift, aby ułatwić obsługę zerową jako obj & .foo. Array # dig i Hash # dig są również dodawane. Zauważ, że to się zachowuje jak spróbuj! Active Support, który specjalnie obsługuje tylko zero.
  • Klejnot did_you_mean jest spakowany. Klej did_you_mean pokazuje kandydatów na NameError i NoMethodError, aby ułatwić debugowanie.
  • RubyVM :: InstructionSequence # to_binary i .load_from_binary są wprowadzane jako funkcja eksperymentalna. Dzięki tym funkcjom możemy stworzyć system wstępnej kompilacji ISeq (bytecode).
  • Obejmuje to również wiele ulepszeń wydajności, na przykład, rewidowanie struktury danych wejściowych metody, wprowadzanie nowej struktury danych tabeli, optymalizowanie wywołania Proc #, strojenie kodu maszynowego dla alokacji obiektów i kodu wywoływania metod, inteligentniejsza struktura danych zmiennych instancji, Socket i I / O pozwalają na użycie "wyjątku:" słowa kluczowe dla wysokowydajnych nieblokujących I / O i tak dalej.

Co nowego w wersji 2.4.0:

  • Wprowadzono zamrożoną literalną Pragma String. W Rubim 2.1, "str" ​​.freeze został zoptymalizowany w celu redukcji przydziału obiektów. Ruby 2.3 wprowadza nowy magiczny komentarz i opcję linii poleceń, aby zamrozić wszystkie literały łańcuchowe w plikach źródłowych. Dodatkowo do debugowania można uzyskać miejsce, w którym obiekt jest tworzony, "nie można zmodyfikować zamrożonego ciągu". błąd przez --debug = zamrożona-ciąg-literalna opcja linii poleceń.
  • Wprowadzono bezpieczny operator nawigacji (tak zwany samotny operator) i., który już istnieje w C #, Groovy i Swift, aby ułatwić obsługę zerową jako obj & .foo. Array # dig i Hash # dig są również dodawane. Zauważ, że to się zachowuje jak spróbuj! Active Support, który specjalnie obsługuje tylko zero.
  • Klejnot did_you_mean jest spakowany. Klej did_you_mean pokazuje kandydatów na NameError i NoMethodError, aby ułatwić debugowanie.
  • RubyVM :: InstructionSequence # to_binary i .load_from_binary są wprowadzane jako funkcja eksperymentalna. Dzięki tym funkcjom możemy stworzyć system wstępnej kompilacji ISeq (bytecode).
  • Obejmuje to również wiele ulepszeń wydajności, na przykład, rewidowanie struktury danych wejściowych metody, wprowadzanie nowej struktury danych tabeli, optymalizowanie wywołania Proc #, strojenie kodu maszynowego dla alokacji obiektów i kodu wywoływania metod, inteligentniejsza struktura danych zmiennych instancji, Socket i I / O pozwalają na użycie "wyjątku:" słowa kluczowe dla wysokowydajnych nieblokujących I / O i tak dalej.

Co nowego w wersji 2.3.3:

  • Wprowadzono zamrożoną literalną Pragma String. W Rubim 2.1, "str" ​​.freeze został zoptymalizowany w celu redukcji przydziału obiektów. Ruby 2.3 wprowadza nowy magiczny komentarz i opcję linii poleceń, aby zamrozić wszystkie literały łańcuchowe w plikach źródłowych. Dodatkowo do debugowania można uzyskać miejsce, w którym obiekt jest tworzony, "nie można zmodyfikować zamrożonego ciągu". błąd przez --debug = zamrożona-ciąg-literalna opcja linii poleceń.
  • Wprowadzono bezpieczny operator nawigacji (tak zwany samotny operator) i., który już istnieje w C #, Groovy i Swift, aby ułatwić obsługę zerową jako obj & .foo. Array # dig i Hash # dig są również dodawane. Zauważ, że to się zachowuje jak spróbuj! Active Support, który specjalnie obsługuje tylko zero.
  • Klejnot did_you_mean jest spakowany. Klej did_you_mean pokazuje kandydatów na NameError i NoMethodError, aby ułatwić debugowanie.
  • RubyVM :: InstructionSequence # to_binary i .load_from_binary są wprowadzane jako funkcja eksperymentalna. Dzięki tym funkcjom możemy stworzyć system wstępnej kompilacji ISeq (bytecode).
  • Obejmuje to również wiele ulepszeń wydajności, na przykład, rewidowanie struktury danych wejściowych metody, wprowadzanie nowej struktury danych tabeli, optymalizowanie wywołania Proc #, strojenie kodu maszynowego dla alokacji obiektów i kodu wywoływania metod, inteligentniejsza struktura danych zmiennych instancji, Socket i I / O pozwalają na użycie "wyjątku:" słowa kluczowe dla wysokowydajnych nieblokujących I / O i tak dalej.

Co nowego w wersji 2.3.1:

  • Wprowadzono zamrożoną literalną Pragma String. W Rubim 2.1, "str" ​​.freeze został zoptymalizowany w celu redukcji przydziału obiektów. Ruby 2.3 wprowadza nowy magiczny komentarz i opcję linii poleceń, aby zamrozić wszystkie literały łańcuchowe w plikach źródłowych. Dodatkowo do debugowania można uzyskać miejsce, w którym obiekt jest tworzony, "nie można zmodyfikować zamrożonego ciągu". błąd przez --debug = zamrożona-ciąg-literalna opcja linii poleceń.
  • Wprowadzono bezpieczny operator nawigacji (tak zwany samotny operator) i., który już istnieje w C #, Groovy i Swift, aby ułatwić obsługę zerową jako obj & .foo. Array # dig i Hash # dig są również dodawane. Zauważ, że to się zachowuje jak spróbuj! Active Support, który specjalnie obsługuje tylko zero.
  • Klejnot did_you_mean jest spakowany. Klej did_you_mean pokazuje kandydatów na NameError i NoMethodError, aby ułatwić debugowanie.
  • RubyVM :: InstructionSequence # to_binary i .load_from_binary są wprowadzane jako funkcja eksperymentalna. Dzięki tym funkcjom możemy stworzyć system wstępnej kompilacji ISeq (bytecode).
  • Obejmuje to również wiele ulepszeń wydajności, na przykład, rewidowanie struktury danych wejściowych metody, wprowadzanie nowej struktury danych tabeli, optymalizowanie wywołania Proc #, strojenie kodu maszynowego dla alokacji obiektów i kodu wywoływania metod, inteligentniejsza struktura danych zmiennych instancji, Socket i I / O pozwalają na użycie "wyjątku:" słowa kluczowe dla wysokowydajnych nieblokujących I / O i tak dalej.

Co nowego w wersji 2.3.0:

  • Wprowadzono zamrożoną literalną Pragma String. W Rubim 2.1, "str" ​​.freeze został zoptymalizowany w celu redukcji przydziału obiektów. Ruby 2.3 wprowadza nowy magiczny komentarz i opcję linii poleceń, aby zamrozić wszystkie literały łańcuchowe w plikach źródłowych. Dodatkowo do debugowania można uzyskać miejsce, w którym obiekt jest tworzony, "nie można zmodyfikować zamrożonego ciągu". błąd przez --debug = zamrożona-ciąg-literalna opcja linii poleceń.
  • Wprowadzono bezpieczny operator nawigacji (tak zwany samotny operator) i., który już istnieje w C #, Groovy i Swift, aby ułatwić obsługę zerową jako obj & .foo. Array # dig i Hash # dig są również dodawane. Zauważ, że to się zachowuje jak spróbuj! Active Support, który specjalnie obsługuje tylko zero.
  • Klejnot did_you_mean jest spakowany. Klej did_you_mean pokazuje kandydatów na NameError i NoMethodError, aby ułatwić debugowanie.
  • RubyVM :: InstructionSequence # to_binary i .load_from_binary są wprowadzane jako funkcja eksperymentalna. Dzięki tym funkcjom możemy stworzyć system wstępnej kompilacji ISeq (bytecode).
  • Obejmuje to również wiele ulepszeń wydajności, na przykład, rewidowanie struktury danych wejściowych metody, wprowadzanie nowej struktury danych tabeli, optymalizowanie wywołania Proc #, strojenie kodu maszynowego dla alokacji obiektów i kodu wywoływania metod, inteligentniejsza struktura danych zmiennych instancji, Socket i I / O pozwalają na użycie "wyjątku:" słowa kluczowe dla wysokowydajnych nieblokujących I / O i tak dalej.

Co nowego w wersji 2.2.3:

  • Ta wersja zawiera poprawkę zabezpieczeń dla domeny RubyGems Usterka sprawdzania nazw. CVE-2015-3900 Prośba o włamanie do systemu RubyGems w wersji 2.4.6 i wcześniejszych

Co nowego w wersji 2.2.2:

  • Ta wersja zawiera poprawkę zabezpieczeń dla rozszerzeń OpenSSL luka weryfikacji serwera.

Co nowego w wersji 2.2.0:

  • VM (pamięć podręczna metod)
  • RGenGC (Zobacz prezentację RubyKaigiego ko1 i prezentację RubyConf 2013)
  • Udoskonalenia # 8481 # 8571
  • zmiany w składni:
  • Dziesiętny / złożony dosłowny # 8430
  • Wartość zwracana przez def # 3753
  • Bignum:
  • użyj GMP # 8796
  • String # scrub # 8414
  • Socket.getifaddrs # 8368
  • RDoc 4.1.0 i RubyGems 2.2.0
  • "literalny" .freeze jest teraz zoptymalizowany # 9042
  • dodaj wyjątek # przyczyna # 8257
  • aktualizuj biblioteki takie jak BigDecimal, JSON, NKF, Rake, RubyGems i RDoc
  • Usuń curses # 8584

Co nowego w wersji 2.0.0-p0:

  • Podstawowe funkcje języka:
  • Argumenty dotyczące słów kluczowych, które zapewniają elastyczność projektowania interfejsów API
  • Moduł # prepend, który jest nowym sposobem na rozszerzenie klasy
  • Dosłowny% i, który łatwo tworzy tablicę symboli
  • __ dir__, który zwraca dirname pliku aktualnie wykonywanego
  • Kodowanie domyślne UTF-8, które powoduje, że wiele magicznych komentarzy jest zabronionych
  • Wbudowane biblioteki:
  • Enumerable # lazy and Enumerator :: Lazy, dla (prawdopodobnie nieskończonego) leniwego strumienia
  • Rozmiar # i zakres # enumeranta dla oceny leniwej wielkości
  • #to_h, która jest nową konwencją konwersji do Hash
  • Onigmo, który jest nowym silnikiem regexp (widelcem Oniguruma)
  • Asynchroniczny interfejs API do obsługi wyjątków
  • Obsługa debugowania:
  • Obsługa DTrace, która umożliwia diagnostykę w czasie pracy w produkcji
  • TracePoint, czyli ulepszony interfejs śledzenia
  • Poprawki wydajności:
  • Optymalizacja GC poprzez znakowanie bitmapowe
  • Kernel # wymaga optymalizacji, która bardzo szybko uruchamia Railsy
  • Optymalizacja maszyn wirtualnych, np. wyładunek metod
  • Optymalizacja pracy pływaka

Co nowego w wersji 1.9.3-p392:

  • Ta wersja zawiera poprawki bezpieczeństwa dotyczące pakietu JSON i REXML:
  • Luka w zabezpieczeniach Denial of Service i niebezpiecznej organizacji w JSON (CVE-2013-0269)
  • Luka DoS w rozszerzeniu encji w języku REXML (bomba XML)
  • Dołączono także kilka małych poprawek.

Co nowego w wersji 1.9.3-p385:

  • Ta wersja zawiera poprawkę zabezpieczeń dotyczącą pakietu RDoc.

Co nowego w wersji 1.9.3-p384:

  • Ta wersja zawiera poprawkę zabezpieczeń o pakiecie RDoc.

Co nowego w wersji 1.9.3-p286:

    $ SAFE wymykająca się luka w zabezpieczeniach dotyczącej wyjątku # to_s / NameError # to_s (CVE-2012-4464, CVE-2012-4466)
  • Nieumyślne utworzenie pliku spowodowane wstawieniem niedozwolonego znaku NUL
  • inne poprawki błędów.

Podobne oprogramowanie

Jikes RVM
Jikes RVM

15 Apr 15

nml
nml

15 Apr 15

ChaiScript
ChaiScript

20 Feb 15

CodeViz
CodeViz

3 Jun 15

Komentarze do Ruby

Komentarze nie znaleziono
Dodaj komentarz
Włącz zdjęć!