Добавлено: Ср мар 14, 2007 5:01 pm
АПДЕЙТ!
Вот теперь я счастлив. ^___^
Версия "Б" корректно выбирает русские фразы, благодаря кой-каким изменениям!
Вот изменения, и пример диалога с этой версией (заране извиняюсь за тематику и содержание диалога - она может быть любой, я просто хотел показать, что Kore может оставаться "в теме"):
ЗЫ: Я не знаю как это всё работает, я просто надергал кусков кода их разных мест Kore...
Человек и Коре:
Вот теперь я счастлив. ^___^
Версия "Б" корректно выбирает русские фразы, благодаря кой-каким изменениям!
Вот изменения, и пример диалога с этой версией (заране извиняюсь за тематику и содержание диалога - она может быть любой, я просто хотел показать, что Kore может оставаться "в теме"):
ЗЫ: Я не знаю как это всё работает, я просто надергал кусков кода их разных мест Kore...
use strict;
+use Text::Wrap; #?
Код: Выделить всё
+sub rusLc { + my ($string) = @_; + my $message=$string; + $message = lc $message; # valid for latin characterz only + my ($endspace) = $message =~ /(\s*)$/; #? #Save trailing whitespace: wrap kills spaces near wraps, especialy at the end of stings, so "\n" becomes "", not what we want + $message = wrap('', '', $message); #? + $message =~ tr/АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ/абвгдеёжзийклмнопрстуфхцчшщъыьэюя/; # from rus2dos + $message =~ s/\s*$/$endspace/; #restore the whitespace #? + return $message; +}
Код: Выделить всё
- $tmp = lc $tmp; # convert to lowercase + $tmp = rusLc $tmp; # convert to lowercase - $tmp =~ s/[^A-Za-z_0-9 \']/ /g; # remove non alpha-numeric characters + $tmp =~ s/[^A-Za-zА-Яа-я_0-9 \']/ /g; # remove non alpha-numeric characters
* * *Код: Выделить всё
- $input = lc $input; # convert to lowercase + $input = rusLc $input; # convert to lowercase - $input =~ s/[^A-Za-z_0-9 \']/ /g; # remove non alpha-numeric characters + $input =~ s/[^A-Za-zА-Яа-я_0-9 \']/ /g; # remove non alpha-numeric characters
Человек и Коре:
Замечание: диалог велся при почти пустом словаре у плагина (89 фраз после окончания диалога), поэтому много лишних повторений, которых могло бы и не быть.ЧерныйПовелитель : Хайль Гитлер!
БоБот : зиг хайль
ЧерныйПовелитель : Ты истинный ариец?
БоБот : ЧТО ты не понял?
ЧерныйПовелитель : Ты тормоз?
БоБот : Ты истинный ариец? >__<
ЧерныйПовелитель : Я истинный ариец!
БоБот : Ты истинный ариец?
ЧерныйПовелитель : Да, блядь, я истинный ариец!
БоБот : Ты истинный ариец?
ЧерныйПовелитель : Заебал.
БоБот : зиг >__<
ЧерныйПовелитель : ХАЙЛЬ!
БоБот : зиг хайль
ЧерныйПовелитель : hello
БоБот : hello
ЧерныйПовелитель : bb
БоБот : zzz
ЧерныйПовелитель : Зиг?
БоБот : зиг
ЧерныйПовелитель : Зиг Хайль!
БоБот : хайль O_o
ЧерныйПовелитель : с тобой приятно общаться
БоБот : хай
ЧерныйПовелитель : чо те нада?
БоБот : ты пидор
ЧерныйПовелитель : ты бля пидор
БоБот : ты пидор
ЧерныйПовелитель : пнх
БоБот : пнх
ЧерныйПовелитель : ну вот и поговорили
БоБот : и?
ЧерныйПовелитель : ПАКА
БоБот : пака
ЧерныйПовелитель : Пока
БоБот : хайль
ЧерныйПовелитель : Зиг ХАЙЛЬ!
БоБот : ХАЙЛЬ!
ЧерныйПовелитель : ах ты сцука тупая
БоБот : ЧТО ты не понял?
ЧерныйПовелитель : не пезди
БоБот : не грузи
ЧерныйПовелитель : козел
БоБот : карты o_O
ЧерныйПовелитель : деньги и два ствола
БоБот : ну вот и поговорили
ЧерныйПовелитель : деньги давай!
БоБот : деньги и два ствола
ЧерныйПовелитель : zzz
БоБот : zzz
ЧерныйПовелитель : ЗИГ хайль!
БоБот : Зиг Хайль!
ЧерныйПовелитель : Ты сцука не истинный ариец!
БоБот : Ты сцука не истинный ариец! ^_^
ЧерныйПовелитель : Ты сцука не истинный ариец!!!
БоБот : Да, блядь, я истинный ариец!
ЧерныйПовелитель : Хайль Гитлер!
БоБот : хайль