Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Misha v.3 18.05.2006 17:45 / 18.05.2006 17:51
два одинаковых куска кода, которые бьют слово на буквы вынести в метод:@splitByLetters[sWord] $result[$._default(0)] ^sWord.match[(.)][g]{ ^result.add[ $.[$match.1]($result.[$match.1] + 1) ] }потом собственно:
$hHavedWord[^splitByLetters[$sHavedWord]] $hTakenWord[^splitByLetters[$sTakenWord]]и концовка плоховата, наверное лучше что-то типа такого:
$result(true) ^hTakenWord.foreach[sLetter;iNumberInWord]{ ^if($result && $hHavedWord.$sLetter < $iNumberInWord){ $result(false) ^rem{ и тут бы ^break[] пригодился, если бы он был } } }так мы будем реже ходить внутрь цикла и делать какие-то присваивания.