Используйте циклы, чтобы сделать ваш скрипт лучше на вид
Link to используйте-циклы-чтобы-сделать-ваш-скрипт-лучше-на-вид
Проблема
Link to проблема
We all have seen it: Scripts with more than 500 lines where it says 500 times recipes.remove(item1);recipes.remove(item2),...
Not only is this a pain to write, but it is possible that you spend hours debugging a little typo when the only exception you get is error in recipes.zs: null
Решение
Link to решение
Мое железное правило:
Когда я пишу одинаковую команду больше, чем 10 раз, только с одним изменяющимся параметром, я воспользуюсь циклом.
Поэтому, вместо набирания этих фунцкий, я объявляю один массив, содержащий все элементы, и перебираю их по одному.
ZenScript Copyimport crafttweaker.item.IIngredient;
val Array = [
item1,
item2,
item3,
...
] as IIngredient[];
for item in Array{
recipes.remove(item);
}
Преимущества
Link to преимущества
- Ваш скрипт (по-моему) становится легче читать.
- Вы точно знаете, где ваш скрипт ломается.
- Новые изменения становятся легче, потому что все что вам нужно — добавлять или удалять нужный элемент массива.
Недостатки
Link to недостатки
- Работает, только если в вызовах функций меняется всего несколько параметров.
- Вы можете сломать свой скрипт, не зная его. Например, неправильно привести тип массива.
- Одна ошибка в массиве нарушает все объявление массива, и он не будет ничего делать в принципе.
- Вы можете получить таинственные сообщения об ошибках, если неверным образом создадите массив.