heise open source

Wiadomości i artykuły heise Open Source

Poprawki

Wyeliminowano siedem usterek występujących jeszcze w wersji Release Candidate i kilka programistycznych niedociągnięć:

  • usunięto błąd polegający na zawieszaniu pracy interpretera przy próbie wykonania autoload na nieistniejącej klasie,
  • zlikwidowano pojawiające się w Windows XP usterki związane z zapisem do standardowego wyjścia,
  • uporządkowano zależności bibliotek, usuwając katalogi związane z niekompatybilnym już kompilatorem bcc32,
  • zdiagnozowano przyczynę nieudanych kompilacji interpretera w dystrybucji GNU/Linuksa SUSE,
  • poradzono sobie z problemem tworzenia przez RubyGems katalogów poza DESTDIR,
  • wprowadzono poprawki w procesie kompilacji i instalacji, gdy używany jest kompilator mingw,
  • poprawiono obsługę kodowania CP936,
  • naprawiono obsługę biblioteki zlib w komponencie RubyGems pracującym w systemach Windows.

Co nowego?

Linia rozwojowa 1.9 zawiera przede wszystkim nowe konstrukcje składniowe i semantyczne, jak również modyfikacje pod względem wbudowanych klas i obiektów. Zestawienie wszystkich zmian zainteresowani znajdą w pliku News znajdującym się na stronie projektu, my natomiast postaramy się je opisać.

Implementacja i kompatybilność

Nowy interpreter języka Ruby nie współpracuje już z systemem Mac OS 9 i wcześniejszymi, Windows CE i VMS-em. Nie da się go również skompilować, używając narzędzi djgpp, bcc32 i human68k.

W wydaniu 1.9 zamiast MRI (Matz Ruby Interpreter) użyto maszyny wirtualnej YARV (Yet Another Ruby Vm). W efekcie interpreter lepiej zarządza pamięcią, a ogólna prędkość wykonywania się programów została zwiększona od 2 do 4 razy. Zmiany w implementacji obejmują też kompaktowanie obiektów należących do klas Object, Array, String, Hash, Struct, Class i Module.

Opcje wiersza poleceń

Dodano opcję -E (--encoding) pozwalającą ustawić kodowanie znaków używane w programie. Poza tym, za sprawą włączenia do projektu RubyGems pojawiła się możliwość włączania lub wyłączania obsługi tego modułu za pomocą --enable-gems i --disable-gems. Ważne, aby pamiętać, że dwie wspomniane powyżej opcje dotyczą konkretnego pliku z kodem. Jeśli podajemy wiele plików, to przed nazwą każdego należy ustawić odpowiedni przełącznik.

Istnieją także przełączniki --enable-rubyopt i --disable-rubyopt – działają one tak samo, ale dla wszystkich wczytywanych źródeł na raz. Można również skorzystać ze zmiennej środowiskowej RUBYOPT i w niej ustawić odpowiednie opcje.

Poza tym w nowym interpreterze znajdziemy też opcję -U, dzięki której łatwo ustawia się domyślne wewnętrzne kodowanie znaków na UTF-8.

  • Podziel się
  • Wykop.pl
  • StumbleUpon
  • del.icio.us
  • OSnews.pl