| Новости | 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[] пригодился, если бы он был }
}
}так мы будем реже ходить внутрь цикла и делать какие-то присваивания.