Ответ
Misha v.3 24.11.2013 10:47
/ 24.11.2013 11:07
- в @stem_word баг. в одной ветке if используется result, в другой -- нет. в один день он вылезет.
- @s[] мне не нравится. во первых — способом безусловной записи в $caller.RV, а во вторых — тем, что он делает лишнее сравнение когда от него этого не требуется. например:
^if(!^s[$RV;$PERFECTIVEGROUND]){^s[$RV;$REFLEXIVE]}
в condition result нужен, в теле -- нет. поэтому я сделал бы ещё один метод без сравнения и вызывал бы его где надо.
кстати можно вообще избавиться от сравнения строк (но надо потестировать что быстрее/жрёт меньше памяти):
@s[RV;regex]
$result(false)
$caller.RV[^RV.match[$regex][]{$result(true)}]
- в куче шаблонов можно написать (?:...) вместо (...), т.к. найденные результаты совпадения не используются.
- непонятно, почему некоторые regex-ы не засунуты в regex-объекты. ведь скорее всего обрабатывается не одно слово.
- некоторые regexp-ы я бы изменил, например:
(ив|ивши|ившись|ыв|ывши|ывшись)
=>
([иы]в(?:ши|шись)?)
хотя такие regexp-ы хуже читаются и поэтому это лучше отложить до окончания отладки.
- Кому стеммер?, Саян 23.11.2013 19:38
- v3, Саян 29.11.2013 09:33
- Новый вариант с кэшированием, Саян 24.11.2013 18:30
- Ответ, Misha v.3 [M] 26.11.2013 04:05 / 26.11.2013 04:32
- Ответ, Саян 29.11.2013 09:31
- Ответ, Саян 24.11.2013 17:58
- Ответ, Misha v.3 [M] 24.11.2013 10:47 / 24.11.2013 11:07
- $result(^if($RV ne $caller.RV){1;0}) -> $result($RV ne $caller.RV), Sumo [M] 24.11.2013 09:28 / 24.11.2013 09:31
- Ответ, Саян 24.11.2013 18:27
- Ответ, Саян 24.11.2013 17:32
- Для решения какой задачи вы его используете? (-), Sumo [M] 24.11.2013 09:27
- очепятка, Александр 24.11.2013 05:15