Как Clojure подходит к разделению интересов?

Добавление ключевого слова params показывает, что вы можете передать несколько параметров при вызове этого метода, который невозможен без его использования. Чтобы быть более конкретным:

static public int addTwoEach(params int[] args)
{
    int sum = 0;

    foreach (var item in args)
    {
        sum += item + 2;
    }

    return sum;
}

Когда вы вызовете метод выше, вы можете вызвать его одним из следующих способов:

  1. addTwoEach()
  2. addTwoEach(1)
  3. addTwoEach(new int[]{ 1, 2, 3, 4 })

Но когда вы удалите ключевое слово params, только третий способ вышеуказанных способов будет работать нормально. Для первого и второго случаев вы получите сообщение об ошибке.

20
задан Cœur 4 May 2019 в 17:32
поделиться