Spec-Zone.ru › Dart 2

dart:core

Метод checkValidRange

int checkValidRange(
  1. int start,
  2. int? end,
  3. int length,
  4. [String? startName,
  5. String? endName,
  6. String? message]
)

Проверяет, что диапазон представляет собой срез индексируемого объекта.

Выбрасывает исключение, если диапазон не является допустимым для индексируемого объекта с заданным length. Диапазон является допустимым для индексируемого объекта с заданным length

если 0 <= [start] <= [end] <= [length]. Диапазон end от null считается эквивалентным length.

Значения по умолчанию для startName и endName соответственно равны "start" и "end".

Возвращает фактическое значение end, которое равно length, если end равно null, и end в противном случае.

Реализация

static int checkValidRange(int start, int? end, int length,
    [String? startName, String? endName, String? message]) {
  // Comparing with `0` as receiver produces better dart2js type inference.
  // Ditto `start > end` below.
  if (0 > start || start > length) {
    startName ??= "start";
    throw RangeError.range(start, 0, length, startName, message);
  }
  if (end != null) {
    if (start > end || end > length) {
      endName ??= "end";
      throw RangeError.range(end, start, length, endName, message);
    }
    return end;
  }
  return length;
}

© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-core/RangeError/checkValidRange.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API