ruby overlay and building
Jul 29 2008У Gentoo да нядаўніх часоў атрымаць асалоду ад фішак ruby галіны 1.9 маглі толькі распрацаўшчыкі самаго дыстрыбутыву, (ну й пастаянныя чытачы багзіллы). Але буквальна на днях overlay быў выпушчаны для агульнага карыстаньня. Дакладней, сёньня, бо пасьля абвесткі адразу ў сьпісе мне яго знайсьці не атрымаласа, нават ліставаў адказнаму чалавеку
Цяпер можна дадаць овэрлэй, размаскіраваць пакет і аднавіцца:
layman -L && layman -a ruby
echo >=dev-lang/ruby-1.9.0 >> /etc/portage/package.unmask
Усталёўку неабходна праводзіць зь FEATURES=”-sandbox”, інакш маеце рызыку не сабраць, атрымаўшы памылку:
./miniruby -I./lib -I.ext/common -I./- -r./ext/purelib.rb -I. -rrbconfig ./tool/compile_prelude.rb ./prelude.rb ./enc/prelude.rb ./gem_prelude.rb prelude.c
:0:in `require': no such file to load -- rbconfig (LoadError)
make: *** [prelude.c] Ошибка 1
make: *** Ожидание завершения заданий...
rbconfig.rb updated
Але, памылку можна і не атрымаць, тут ад надвор’я залежыць. У дождж сабралося і бяз гэтага кастыля. Праўда, на тым жа тэрмінале, магчыма, запомніла пераменныя.
Ruby будзе ўсталяваны ў новы слот, так што застанецца яшчэ і ветка 1.8.
Са зборкай стандартнага ruby з portage у мяне были праблемы, калі указаны USE флаг doc. Пры зборцы сцэнар стварэньня дакумэнтацыі зьядаў ўсю памяць. Магчыма, старыя, ужо згенераваныя дакуманты не вызвалялі памяць. З новым рубінам такога заўважана не было, што прыемна.
Ну і трошкі прыемнага, чаго мне і хацелася ад новага ruby. Маем файл test-unicode.rb наступнага зьместу:
# coding:utf-8
str = "Рубі - выдатная мова высокага ўзроўню! ?yko?naja!"
puts str.length
puts str[3]
puts str.split('').inspect
Заўважылі кастыль ў выглядзе # coding:utf-8? Ён і будзе займацца тым, што ўсе сымбалі будуць карэктна апрацоўвацца. Трошкі ня так проста, як хацелася б, але ўжо штосьці :)
Выкананьне ruby18 test-unicode.rb выдасьць нам наступную лабуду:
82
131
["\320", "\240", "\321", "\203", "\320", "\261", "\321", "\226", " ", "-", " ", "\320", "\262", "\321", "\213", "\320", "\264", "\320", "\260", "\321", "\202", "\320", "\275", "\320", "\260", "\321", "\217", " ", "\320", "\274", "\320", "\276", "\320", "\262", "\320", "\260", " ", "\320", "\262", "\321", "\213", "\321", "\201", "\320", "\276", "\320", "\272", "\320", "\260", "\320", "\263", "\320", "\260", " ", "\321", "\236", "\320", "\267", "\321", "\200", "\320", "\276", "\321", "\236", "\320", "\275", "\321", "\216", "!", " ", "\305", "\240", "y", "k", "o", "\305", "\255", "n", "a", "j", "a", "!"]
Запуск сьвежасабранага ruby19 test-unicode.rb адлюструе наступнае:
49
і
["Р", "у", "б", "і", " ", "-", " ", "в", "ы", "д", "а", "т", "н", "а", "я", " ", "м", "о", "в", "а", " ", "в", "ы", "с", "о", "к", "а", "г", "а", " ", "ў", "з", "р", "о", "ў", "н", "ю", "!", " ", "?", "y", "k", "o", "?", "n", "a", "j", "a", "!"]
Ну што, куды лепей, ці ня так? :) Вельмі раю тым, хто жадае нешта вывучыць, паспрабаваць ruby, будзеце прыемна зьдзіўленыя элегантнасьцю і гнуткасьцю ;)
p.s.: нататкі па партаваньню з 1.8 на 1.9 (ангельская)
{ Tags: bugs, coding, emerge, features, gentoo, howto, overlays, portage, ruby, unicode, use }




Recent Comments