Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
BeaVe 01.05.2006 14:44
В продолжение треда о классе транслитератора...@CLASS transliter @auto[] $default[^table::create{rus lat А A а a Б B б b В V в v Г G г g Д D д d Э Ye э ye Ю Yu ю yu Я Ya я ya Е E е e Ё E ё e Ж Zh ж zh З Z з z И I и i Й J й j К K к k Л L л l М M м m Н N н n О O о o П P п p Р R р r У U у u Ф F ф f Ц Ts ц ts Т T т t Щ Shch щ shch Ч Ch ч ch Ш Sh ш sh С S с s Х H х h ь ' Ь ' ъ " Ъ " Ы Y ы y }] # Таблица ГОСТ 16876-71 $GOST[^table::create{rus lat А A а a Б B б b В V в v Г G г g Д D д d Э Eh э eh Ю Ju ю ju Я Ja я ja Е E е e Ё E ё e Ж Zh ж zh З Z з z И I и i Й Jj й jj Л L л l М M м m Н N н n О O о o П P п p Р R р r Т T т t У U у u Ф F ф f Х Kh х kh К K к k Ч Ch ч ch Ц С ц с Щ Shh щ shh Ш Sh ш sh С S с s ъ " Ъ " Ы Y ы y ь ' Ь ' }] #end @auto[] @format[params][table] ^if(!def $params.string){ ^throw[transliter.string;^$.string option MUST be specified.] } ^if($params.table is 'table'){ $table[$params.table] }{ ^switch[$params.table]{ ^case[DEFAULT]{ $table[$default] } ^case[GOST]{ $table[$GOST] } } } ^if($params.untranslit){ $table[^table::create{lat rus ^table.menu{ $table.lat $table.rus } }] } $result[^params.string.replace[$table]] ^if(def $params.optimize){ ^switch[$params.optimize]{ ^case[whitespaces]{ $result[^result.match[\s][g]{_}] } } } #end @format[]Примеры вызовов.
$tmp[^transliter:format[ $.table[GOST] $.string[Вася Петров Шьявлев Эмолъволяновь] ]] $tmp ^transliter:format[ $.table[GOST] $.untranslit(1) $.string[$tr1] $.optimize[whitespaces] ]$.string[STRING] - обязательный параметр. В него передаётся строка для преобразования.