Используйте циклы, чтобы сделать ваш скрипт лучше на вид

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

Мое железное правило:
Когда я пишу одинаковую команду больше, чем 10 раз, только с одним изменяющимся параметром, я воспользуюсь циклом.

Поэтому, вместо набирания этих фунцкий, я объявляю один массив, содержащий все элементы, и перебираю их по одному.

ZenScript
Copy
import crafttweaker.item.IIngredient;

val Array = [
    item1,
    item2,
    item3,
    ...
] as IIngredient[];


for item in Array{
    recipes.remove(item);
}

Преимущества

Link to преимущества

  • Ваш скрипт (по-моему) становится легче читать.
  • Вы точно знаете, где ваш скрипт ломается.
  • Новые изменения становятся легче, потому что все что вам нужно — добавлять или удалять нужный элемент массива.

Недостатки

Link to недостатки

  • Работает, только если в вызовах функций меняется всего несколько параметров.
  • Вы можете сломать свой скрипт, не зная его. Например, неправильно привести тип массива.
  • Одна ошибка в массиве нарушает все объявление массива, и он не будет ничего делать в принципе.
  • Вы можете получить таинственные сообщения об ошибках, если неверным образом создадите массив.